让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
答案 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"))