【发布时间】:2020-02-26 09:42:46
【问题描述】:
我有一个包含 98790 行和 284 列的数据框
otu1 otu2 35-T80-FDA.x 35-T80-FDA.y 33-T26-FDA.x 33-T26-FDA.y
1: OTU_1 OTU_10 3.807355 5.403722 3.972693 3.787
2: OTU_1 OTU_100 -1.618910 0.000000 0.000000 5.687
3: OTU_1 OTU_101 0.000000 0.000000 0.000000 4.9898
我有成对的列名。
35-T80-FDA.x 和 35-T80-FDA.y
33-T26-FDA.x 和 33-T26-FDA.y 等等
所以在输出中,我需要 1 列和 2 列以及随后的成对列在单独的文件中。期望的输出将是:
文件1:
otu1 otu2 33-T26-FDA.x 33-T26-FDA.y
1: OTU_1 OTU_10 3.807355 5.403722
2: OTU_1 OTU_100 -1.618910 0.000000
3: OTU_1 OTU_101 0.000000 0.000000
文件2:
otu1 otu2 35-T80-FDA.x 35-T80-FDA.y
1: OTU_1 OTU_10 3.807355 5.403722
2: OTU_1 OTU_100 -1.618910 0.000000
3: OTU_1 OTU_101 0.000000 0.000000
我尝试如下使用 lapply 函数,但不知道如何获取输出文件中的配对列
lapply(names(res_merge_2)[1:281],function(nm) {
d1 <- res_merge_2[, c(names(res_merge_2)[1:2], nm)]
colnames(d1)[5]="nlr"
fwrite(d1, file = paste0("",nm, ".csv"))})
str(res_merge)
res_merge_2
请帮帮我
【问题讨论】: