我试图从具有以下结构的数据框出发:
Date State Price.Name Cost.Name Price Cost
Jan AZ firm1.price firm1.cost 100 50
Jan AZ firm2.price firm2.cost 200 100
到一个看起来像这样的数据框:
Date State firm1.price firm2.price firm1.cost firm2.cost
Jan AZ 100 200 50 100
我尝试过使用tidyr的传播:
data=spread(data,Price.Name, Price)
data=spread(data,Cost.Name, Cost)
但这给了我以下数据框:
Date State firm1.price firm2.price firm1.cost firm2.cost
Jan AZ 100 NA 50 NA
Jan AZ NA 200 NA 100
我找到了另一个解决同一问题的线程:tidyr spread function generates sparse matrix when compact vector expected,但我无法确定是否达成了解决方案。在使用spread
之前,有人建议使用虚拟变量进行分组,但我尝试过无效。
答案 0 :(得分:1)
您可以单独执行价格和费用,然后合并(加入)它们(或for x in 1 3 5 6 4 2 8 ; do sleep $x & done ; wait
[1] 3338
[2] 3339
[3] 3340
[4] 3341
[5] 3342
[6] 3343
[7] 3344
[1] Done sleep $x
[2] Done sleep $x
[6]- Done sleep $x
[3] Done sleep $x
[5]- Done sleep $x
[4]- Done sleep $x
[7]+ Done sleep $x
它们,具体取决于您的数据的具体情况):
cbind