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

时间:2018-03-06 16:51:18

标签: r dataframe subset

让G成为我的主数据框"多列包括" id"。 设S [i]为多个文件,只包含1列=" id"。

" ID"在G和S [i]是相同的。

我想创建H [i],它是G的子集。 H [i]包含G BUT中的所有列仅在S [i]中观察(或者#34; ID"在S [i]中)。

示例:

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

2 个答案:

答案 0 :(得分:1)

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

H <- list()

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

答案 1 :(得分:0)

考虑merge内的lapply

H <- lapply(S, function(x) merge(G, x, by="id"))