【发布时间】:2020-12-22 18:40:43
【问题描述】:
我有一个数据框列表。有两种类型的数据框,一种列出姓名和年龄,另一种列出测试和成绩(如下面的“组合列表”所示)。
df1 <- data.frame(name = c("Alice", "Bob"),
age = c(23, 41))
df2 <- data.frame(test = c("Geography", "Science"),
grade = c("A", "B"))
df3 <- data.frame(name = c("Claire", "David"),
age= c(50, 32))
df4 <- data.frame(test = c("Geography", "Science"),
grade = c("B", "B"))
combined_list <- c(df1,df2,df3,d4)
我想将列表子集化为仅包含姓名和年龄的数据框,因此它看起来像这样:
name age
1 Alice 23
2 Bob 41
3 Claire 50
4 David 32
我找到了 Purrr 包的 Keep 功能,它应该可以根据条件过滤列表,但我还没有找到让它工作的方法。这是我迄今为止尝试过的:
library(purrr)
purrr:keep(function(x) filter(!name=NULL))
我怎样才能做到这一点?还有其他解决方案吗?
【问题讨论】: