在重塑数据方面需要帮助

时间:2018-01-08 11:48:21

标签: r reshape2 melt dcast

我是新来的,也是R世界。 我一直试图重塑数据,但在经过dcast,融化,重塑选项后我无法做到这一点。

我的数据看起来像, original data

  

TESTCODE BATCHNUMBER BATCHVALUE DATALINEID

     

测试1 100 _83281
     测试1 99 _83284
     测试1 100 _83287
     测试1 101 _83290
     测试2 101 _83281
     测试2 95 _83284
     测试2 99 _83287
     测试2 98 _83290
     测试3 99 _83281
     测试3 103 _83284
     测试3 102 _83287
     测试3 100 _83290

并且需要将其转换为类似的内容,

Desired output

  

TESTCODE DATALINEID BATCH1 BATCH2 BATCH3

 TEST     _83281       100      101       99
 TEST     _83284        99       95      103
 TEST     _83287       100       99      102
 TEST     _83290       101       98      100

我试过用过 dcast(TEST,TESTCODE + DATALINEID~。,value.var =“BATCHVALUE”),它提供输出

TESTCODE   DATALINEID  .
 test     _83281      3
 test     _83284      3
 test     _83287      3
 test     _83290      3

还有 dcast(TEST,TESTCODE + BATCHNUMBER~DATALINEID +。,value.var =“BATCHVALUE”)

TESTCODE BATCHNUMBER _83281 _83284 _83287 _83290

 test           1    100     99    100    101
 test           2    101     95     99     98
 test           3     99    103    102    100

期待回复,从而学习新的东西。 谢谢。

1 个答案:

答案 0 :(得分:0)

我找到了答案,

dcast(data = TEST,formula = TESTCODE + DATALINEID~BATCHNUMBER,value.var =“BATCHVALUE”)

所需的输出,

  

TESTCODE DATALINEID 1 2 3

test     _83281    100    101     99
test     _83284     99     95    103
test     _83287    100     99    102
test     _83290    101     98    100