2

我从这个无害的数据框开始:

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      

有人可以帮助我并告诉我为什么会发生这种邪恶的事情吗?

4

1 回答 1

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")
于 2013-12-03T08:02:51.913 回答