0

我是新来的,也是 R 世界的新手。我一直在尝试重塑数据,但在通过 dcast、melt、reshape 选项后我无法做到。

我的数据看起来像, 原始数据

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 _83287
测试2 98 _83290 测试 3
99 _83282328328328328313283831313831383138313838313831383838383838388388388388388383838383838383838383838383838388888888888888888888888888883 ;


它需要转换成这样的东西,

期望的输出

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

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

4

1 回答 1

0

我找到了答案,

dcast(数据 = TEST,公式 =TESTCODE+DATALINEID~BATCHNUMBER, value.var="BATCHVALUE")

所需的输出,

测试代码 DATALINEID 1 2 3

test     _83281    100    101     99
test     _83284     99     95    103
test     _83287    100     99    102
test     _83290    101     98    100
于 2018-01-08T12:41:10.437 回答