R 分散成多个列
我得到了一个data.frame,我想像dplyr的扩展函数一样扩展它,但是有多个变量R 分散成多个列,r,R,我得到了一个data.frame,我想像dplyr的扩展函数一样扩展它,但是有多个变量 Code Product 2008 2008_Unit 2015 2015_Unit Type 010110 Pure-bred breeding horses and asses 1 Tons NA NA Exports_Peru_US 010110 Pure-bred breeding horses and asses 6 Tons NA NA E
Code Product 2008 2008_Unit 2015 2015_Unit Type
010110 Pure-bred breeding horses and asses 1 Tons NA NA Exports_Peru_US
010110 Pure-bred breeding horses and asses 6 Tons NA NA Exports_Peru_World
010110 Pure-bred breeding horses and asses 55 Units NA NA Exports_US_Peru
010110 Pure-bred breeding horses and asses 3899 Units NA NA Exports_US_World
010110 Pure-bred breeding horses and asses 0 No quantity 6 Tons Exports_World
010110 Pure-bred breeding horses and asses 31 Tons NA NA Imports_Peru_US
我想把它变成:
Code Product 2008_Exports_Peru_US 2008_Unit_Exports_Peru_US 2015_Exports_Peru_US 2015_Unit_Exports_Peru_US 2008_Exports_Peru_World ...
010110 Pure-bred breeding horses and asses 1 Tons NA NA 6 ...
因此,每个代码只显示在一行中
注意:并非所有代码都具有所有类型
重塑2+data.table有效
dcast(setDT(master), Code + Product ~ Type, value.var = c("2008","2008_Unit", "2015", "2015_Unit"))
master <- the data frame
dcast(setDT(master), Code + Product ~ Type, value.var = c("2008","2008_Unit", "2015", "2015_Unit"))
重塑2+data.table有效
dcast(setDT(master), Code + Product ~ Type, value.var = c("2008","2008_Unit", "2015", "2015_Unit"))
master <- the data frame
dcast(setDT(master), Code + Product ~ Type, value.var = c("2008","2008_Unit", "2015", "2015_Unit"))
master您是否从dplyr
尝试了spread
?我有@Aramis7d的可能重复,通过使用多个spread,我仍然会得到相同代码id的倍数。无法使用一个,因为spread只需要1个参数,我有4列需要分散。我也尝试过dcast,但没有成功(尽管可能是因为我对整形2软件包缺乏经验)。需要data.table和整形2才能正常工作。问题解决了。