【发布时间】:2021-05-14 09:24:28
【问题描述】:
您好,我想使用 mutate 函数创建一个新变量 Foldchange。但是,我想使用同一列中的值来计算它。有没有办法计算一个新变量,在同一列中折叠变化而不重新排列表格,这样表格就不需要拆分?
为了清楚起见,这是一个示例:
Plate Sample_ID Visit Bead_MFI Phago_Score mean_phago
<fct> <chr> <fct> <int> <dbl> <dbl>
4 100004 V1 1199 237. 253.
4 100077 V1 1522 405. 396.
4 100077 V2 1349 324. 814.
4 100004 V2 1518 466. 867
我想要的输出类似于使用:
test %>% group_by("Sample", "Plate") %>% mutate (Foldchange = ((mean_phago$V2-mean_phago$V1)/mean_phago$V1))
得到
Plate Sample_ID Visit Bead_MFI Phago_Score mean_phago Foldchange
<fct> <chr> <fct> <int> <dbl> <dbl>
4 100004 V1 1199 237. 253. 2.42
4 100077 V1 1522 405. 396. 1.11
4 100077 V2 1349 324. 834. 1.11
4 100004 V2 1518 466. 867 2.42
显然,我无法使用此代码选择基于 V1 和 V2 变量,但这只是为了说明。我希望通过这种方式,我可以保持我的附加表完好无损,折叠变化会有重复值,但此时没关系。
提前感谢您的任何帮助,对于 R 来说还是个新手!
玛丽
【问题讨论】: