【发布时间】:2020-03-06 17:03:44
【问题描述】:
如何使用数据集从另一个数据集中提取特定列?
【问题讨论】:
-
你可以使用
df1[, df2$snp] -
您知道如何执行此操作以保留 data2 中的“i..POP”列吗?
标签: r dataframe data-wrangling
如何使用数据集从另一个数据集中提取特定列?
【问题讨论】:
df1[, df2$snp]
标签: r dataframe data-wrangling
使用intersect 查找两个数据集之间的通用名称。
snp.common <- intersect(data1$snp, colnames(data2$snp))
data2.separated <- data2[,snp.common]
【讨论】:
最好提供minimal reproducible example:
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
【讨论】:
df2$snp 是df1 列名的子集就可以工作。