[英]Reshape Data where measure id measure variables need to be paired and then defined by multiple id variables in new column
我有以下看起来像这样的数据框:
NA X.nm. X.A. Reaction.Type Trial Actual.Total.Seconds RA
1 300 3.3294 0ng 1 14.784 NaDithio
51 350 0.1779 0ng 1 14.784 NaAsc
81 380 0.1000 50ng 2 14.784 NaAsc
101 400 0.0509 0ng 1 14.784 NaAsc
151 450 0.0125 0ng 2 14.784 NaAsc
201 500 0.0054 0ng 2 14.784 NaDithio
251 550 0.0026 0ng 1 14.784 NaDithio
301 600 0.0010 50ng 1 14.784 NaAsc
351 650 -0.0001 0ng 1 14.784 NaAsc
381 680 -0.0005 0ng 1 14.784 NaAsc
因此,有一列用于“ Reaction.Type”,“ Trial”,“ Actual.Total.Seconds”,“ RA”,“ X.nm”,“ XA”。 请忽略Na列。
我想重新格式化我的数据框,以便有一个新的X.nm。 和XA(已配对)列(“ Reaction.Type”,“ Trial”,“ Actual.Total.Seconds”,“ RA”)的每个组合。 我想要每列的标题作为组合。 每X.nm。 有一个对应的XA(有点像一个坐标点,对于每个X.nm,都有一个XA)
示例:第1列标题:0ng,1、50秒,NaAsc中的X.nm(这将使X.nm与XA相匹配的另一列)
第2栏标题:从0ng开始的XA,1、50秒,NaAsc
*然后对以下每个组合执行此操作,因此每个组合都有更多列
X.nm. from 0ng, 1, 14.784seconds, NaDithio X.A from 0ng, 1, 50seconds, NaDithio
300 3.3294
550 0.0026
当我尝试使用reshape2包中的recast()时,它不会将XA和X.nm对保持在一起。
请帮忙! 谢谢。
library(tidyverse)
df2 <- df %>%
unite(var, c(Reaction.Type, Trial, Actual.Total.Seconds, RA)) %>%
gather(var2, val, -var, -NA.) %>%
unite(var3, c(var2, var)) %>%
spread(var3, val)
df2[,split(names(df2), c(1, rep(2:7, 2))) %>% unlist]
# NA. X.A._0ng_1_14.784_NaAsc X.nm._0ng_1_14.784_NaAsc
# 1 1 NA NA
# 2 51 0.1779 350
# 3 81 NA NA
# 4 101 0.0509 400
# 5 151 NA NA
# 6 201 NA NA
# 7 251 NA NA
# 8 301 NA NA
# 9 351 -0.0001 650
# 10 381 -0.0005 680
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.