如何使用数据集从另一个数据集中提取特定列?
问问题
49 次
2 回答
0
提供一个最小的可重现示例总是更好:
df1 <- data.frame(V1 = 1:3,
V2 = 4:6,
V3 = 7:9)
df2 <- data.frame(snp = c("V2", "V3"),
stringsAsFactors=FALSE)
现在我们可以使用字符向量来索引我们想要的列:
df1[, df2$snp]
回报:
V2 V3 1 4 7 2 5 8 3 6 9
编辑:
您知道如何执行此操作以保留 data2 中的“i..POP”列吗?
df1 <- data.frame(ID = letters[1:3],
V1 = 1:3,
V2 = 4:6,
V3 = 7:9)
names(df1)[1] <- "ï..POP"
df2 <- data.frame(snp = c("V2", "V3"),
stringsAsFactors=FALSE)
我们可以使用c
来组合列的名称:
df1[, c("ï..POP", df2$snp)]
ï..POP V2 V3 1 a 4 7 2 b 5 8 3 c 6 9
于 2020-03-06T17:09:14.770 回答
0
用于intersect
查找两个数据集之间的通用名称。
snp.common <- intersect(data1$snp, colnames(data2$snp))
data2.separated <- data2[,snp.common]
于 2020-03-06T17:09:57.983 回答