我有这种宽格式的数据,我想将其转换为长格式
Cond Construct Line Plant Tube_shoot weight_shoot Tube_root weight_root
1 Standard NA NA 2 199.95 - -
2 Cd0 IIF 43.1 1 3 51.87 4 10.39
3 Cd0 IIF 43.1 2 5 81.80 6 15.05
4 Cd0 IIF 43.1 3 7 101.56 8 16.70
我基本上想要的是将 Tube_shoot 和 weight_shoot 保持在一起,即将这两列视为熔化的列。但是因为我只能用
id.vars=c("Cond","Construct","Line","Plant")
结果不是我想要的。
到目前为止,我有两个(丑陋的)解决方案:
我融化了两次,首先是 measure.vars=c("Tube_shoot", "Tube_root" ),然后是权重,然后删除了结果完全错误的一半行。这对我来说是不可行的,因为我有不同长度的数据,而且我总是必须检查我是否取出了正确的行。
我将带有“重量”的“管”粘贴到一个新列中,取出其他的,将它们熔化,然后再将它们分开。
将它们一一复制到excel中。但是有数百行我宁愿学习如何在 R 中做到这一点。
我确信有更好的方法。
我到底想要什么:
Cond Construct Line Plant Tube weight
1 Standard NA NA 2 199.95
2 Cd0 IIF 43.1 1 3 51.87
3 Cd0 IIF 43.1 2 5 81.80
4 Cd0 IIF 43.1 3 7 101.56
2 Cd0 IIF 43.1 1 4 10.39
3 Cd0 IIF 43.1 2 6 15.05
4 Cd0 IIF 43.1 3 8 16.70