【发布时间】:2020-07-01 11:40:48
【问题描述】:
我有一个这样的数据框:
df <- data.frame(var1 = c(1,1,3,4,5,6,7,8,9),
var2 = c(11,11,33,44,55,66,77,88,99),
var3 = c(111,111,333,444,555,666,777,888,999),
var4 = c(1111,1111,3333,4444,5555,6666,7777,8888,9999))
> df
var1 var2 var3 var4
1 1 11 111 1111
2 1 11 111 1111
3 3 33 333 3333
4 4 44 444 4444
5 5 55 555 5555
6 6 66 666 6666
7 7 77 777 7777
8 8 88 888 8888
9 9 99 999 9999
我想根据存储在列表中的多个列值过滤特定行。
例如:
my_list <- list(var1 = 1,
var2 = 11,
var3 = 111)
filtered_df <- df %>% filter(var1 == my_list$var1[[1]],
var2 == my_list$var2[[1]],
var3 == my_list$var3[[1]])
> filtered_df
var1 var2 var3 var4
1 1 11 111 1111
2 1 11 111 1111
我可以选择列表中的元素并使用列表名称过滤数据框,而不是包含 filter 中的每个变量吗?
【问题讨论】:
-
啊,如果所有问题都像这样结构良好且对帮助者友好!