我从这个无害的数据框开始:
Date Company Jobs
1/1/2012 Company 1 12
1/1/2012 Company 2 84
1/1/2012 Company 3 239
1/1/2012 Company 4 22
我正在梦想,乞求和幻想这个数据框看起来像这样:
Date Company 1 Company 2 Company 3 Company 4
1/1/2012 12 84 239 22
1/2/2012
1/3/2012 <other numbers here>
1/4/2012
环顾四周并考虑使用哪些工具,我想我会使用reshape2包
我从myDF <- melt(myDF)
开始
所以我可以融化我的数据帧。策略是使用
dcast
将其重新格式化为长数据帧。
所以这是我融化的数据框:
Date Company variable value
1/1/2012 Company 1 Jobs 12
1/1/2012 Company 2 Jobs 84
1/1/2012 Company 3 Jobs 239
1/1/2012 Company 4 Jobs 22
我试过了
dcast(myDF, Date ~ Company + value)
得到了这个:
Date Company 1 Company 2 Company 3 Company 4
1/1/2012 NA NA NA NA
1/2/2012
1/3/2012 <NAs here>
1/4/2012
有人可以帮助我,告诉我为什么会发生这种邪恶的事情吗?
答案 0 :(得分:1)
您可以在函数dcast()
内使用原始数据框,因为您的数据已经是长格式。函数将使用列Jobs
作为值。
dcast(df,Date~Company)
Date Company_1 Company_2 Company_3 Company_4
1 1/1/2012 12 84 239 22
您也可以准确地写下您想要使用列Jobs
作为值。
dcast(df,Date~Company,value.var="Jobs")