首页 > > > R语言中财务数据整形:wide <--> long
在R语言中,tidyr包和data.table分别提供了相应的长宽数据变换的函数。在做资本市场微观企业数据分析时,尤其财务数据指标(如Wind的数据格式是宽数据),这个两个包提供的函数友好程度还可以提升。
======================================================================
Stata中直接提供一个reshape就搞定了,并且可以自动分割和命名变量。这个太赞了。


======================================================================
下面分享data.table包提供的函数功能。
这里直接举例,不一一交代具体参数了。
1.生成模拟数据
library(data.table)
set.seed(123)
market <- data.table(
stkcd=1:100,
type =sample(c(0,1),100,replace = TRUE),
industry=sample(letters,100,replace = TRUE),
roa2013=runif(100, min = 0, max = 1),
roa2014=runif(100, min = 0, max = 1),
roa2015=runif(100, min = 0, max = 1),
lev2013=runif(100, min = 0, max = 1),
lev2014=runif(100, min = 0, max = 1),
lev2015=runif(100, min = 0, max = 1)
)
head(market)

2.宽变长




3.长变宽
这个时候就好办了。
是不是一切又回到原点,那个最初的market数据集?

? ??上面的setorder(long , stkcd, year)只是虚晃一招,在此处分析中没什么作用。
如何有更便捷的变换方法,欢迎交流。
-------------------------------------------------
分享一个链接:RStudio发布的R语言与数据分析的系列视频。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31537575/viewspace-3160945/ ,如需转载,请注明出处,否则将追究法律责任。