我正在使用 R 中的数据框,其格式类似于此示例:
Countries <- c('USA','USA','Australia','Australia')
Type <- c('a','b','a','b')
X2014 <- c(10, -20, 30, -40)
X2015 <- c(20, -40, 50, -10)
X2016 <- c(15, -10, 10, -100)
X2017 <- c(5, -5, 5, -10)
df_sample <- data.frame(Countries, Type, X2014, X2015, X2016, X2017)
数据框如下所示:
Countries Type X2014 X2015 X2016 X2017
1 USA a 10 20 15 5
2 USA b -20 -40 -10 -5
3 Australia a 30 50 10 5
4 Australia b -40 -10 -100 -10
我希望能够为每个国家/地区的每种类型创建年份值列,产生如下所示的内容:
Countries Year a b
1 USA X2014 10 -20
2 USA X2015 20 -40
3 USA X2016 15 -10
4 USA X2017 5 -5
...
我得到recast了这个:
recast(df_sample, Countries ~ Type)
Countries a b
1 Australia 4 4
2 USA 4 4
我得到dcast了这个:
dcast(df_sample, Countries ~ Type)
Countries a b
1 Australia 5 -10
2 USA 5 -5
我正在使用的数据集有 44 年的数据,所以我希望能够指示年度数据的所有列,而不必手动将每个列 id 输入到转换公式中。
dcast和之间有什么区别recast(即它们最适合什么情况),是否可以用它们来塑造我的数据?