2
我有一个列表,其中包含多个不同大小的数据框(本示例中只有2个)。省略列表中所有data.frames中的行,不共享公共ID的行
> myList
$`1`
ID values
1 1 100
2 2 200
3 3 240
4 4 403
5 5 212
6 6 432
7 7 423
8 8 123
9 9 543
10 10 982
$`2`
ID values
1 3 432
2 5 333
3 6 981
现在,我需要省略所有行的任何不以任何其他数据帧的分享他们的ID
数据帧。在这个例子中,我正在寻找的结果是:
> myList2
$`1`
ID values
3 3 240
5 5 212
6 6 432
$`2`
ID values
1 3 432
2 5 333
3 6 981
我试着使用dplyr::setequal()
但FALSE: Different number of rows
结束。如果可能,我更喜欢基础解决方案。提前致谢!
重现的代码:
myList <- list(data.frame('ID' = c(1:10), 'values' = c(100,200,240,403,212,432,423,123,543,982)),data.frame('ID' = c(3,5,6), 'values' = c(432,333,981)))
谢谢你,那上面的工作完美的例子,但不知何故,它不符合我的实际数据: –
' 的2 1 $列表: 'data.frame':\t 735 OBS。 53个变量: .. $ obsId:chr [1:735]“15597”“15598”“15599”“15600”... .. $ subjectId:num [1:735] 2230 2231 2233 2232 2235 .. .. $ procedureSampleId:num [1:735] 6 6 6 6 6 6 6 6 6 ... $ 2:'data.frame':\t 8 obs。 53个变量: .. $ obsId:chr [1:8]“15628”“15707”“15828”“15938”... .. $ subjectId:num [1:8] 2260 2338 2458 2567 2687 .. .. $ procedureSampleId:num [1:8] 6 6 6 6 6 6 6 6 ' –
什么是错误? – Sotos