简体   繁体   English

如何重新排列/操作数据?

[英]How to re-arrange/manipulate data?

I have a data set from a lab experiment.我有一个来自实验室实验的数据集。 The data is now in this form:数据现在是这种形式:

ColumnID Soiltype Treatment Concentration1 Concentration2 Concentration3
1        Oh       Control   29             31             34
2        LOf      Treatment 100            99             94
3        Oh       Treatment 80             83             78

How can I manipulate the data such that it looks like the following:如何操作数据,使其看起来如下所示:

ColumnID Soiltype Treatment Concentration
1        Oh       Control   29
1        Oh       Control   31
1        Oh       Control   34
2        LOf      Treatment 100
2        LOf      Treatment 99
2        LOf      Treatment 94
3        Oh       Treatment 80
3        Oh       Treatment 83
3        Oh       Treatment 78

What can I try next?我接下来可以尝试什么?

This goes under the general category of reshaping data to long form (for your future google-fu reference):这属于将数据重塑为长格式的一般类别(供您将来的 google-fu 参考):

library(reshape2)

melt(df, id.var = c('ColumnID', 'Soiltype', 'Treatment'),
         value.name = "Concentration")
#  ColumnID Soiltype Treatment       variable Concentration
#1        1       Oh   Control Concentration1            29
#2        2      LOf Treatment Concentration1           100
#3        3       Oh Treatment Concentration1            80
#4        1       Oh   Control Concentration2            31
#5        2      LOf Treatment Concentration2            99
#6        3       Oh Treatment Concentration2            83
#7        1       Oh   Control Concentration3            34
#8        2      LOf Treatment Concentration3            94
#9        3       Oh Treatment Concentration3            78

Removal of extra columns and ordering is left to the reader.删除额外的列和排序留给读者。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM