R - 将来自多个数据集的ID设置为数据框(到多个文件中)

问题描述 投票:1回答:2

设G是我的“主数据框”,包含多个列,包括“id”。设S [i]是仅包含1列=“id”的多个文件。

G和S [i]中的“id”是相同的。

我想创建H [i],它是G的子集.H [i]包含G BUT中的所有列,仅包含S [i]中的所有列(或S [i]中的“ids”)。

例:

G

id     x     y
1      1     3
2      1     4
3      2     6
4      3     4
5      4     5
6      4     1

S [1]

id
2
3
6

H [1]将

id    x     y
2     1     4
3     2     6
6     4     1
r dataframe subset
2个回答
1
投票

假设您创建了一个名为H的空结果列表,您可以像这样迭代S中的项:

H <- list()

for(x in 1:length(S))
{
  H[[x]] <- subset(G, id %in% S[[x]]$id)
}

0
投票

考虑一下merge中的lapply

H <- lapply(S, function(x) merge(G, x, by="id"))
© www.soinside.com 2019 - 2024. All rights reserved.