【发布时间】:2020-11-21 09:23:30
【问题描述】:
我正在写一个应该过滤列表中每个data.table 的函数。
一个例子:
library(purrr)
library(magrittr)
library(data.table)
My.List <-
as.data.table(iris) %>%
split(by = "Species")
map(My.List, ~.x[Sepal.Length < 5.5])
这正是我想要的结果。但是该功能应该非常用户友好。这是我想要的功能,如果我可以有多个条件由, 分隔,就像在dplyr 的filter 中一样,那就更好了:
myfunction(My.List, Sepal.Length < 5.5)
myfunction(My.List, Sepal.Length < 5.5, Petal.Width > 1)
【问题讨论】:
-
只是想学习和理解。我试过
as.data.table(iris) %>% group_by(Species) %>% filter(Sepal.Length < 5.5, Petal.Width > 1),但你想创建自己的函数来过滤行吗?有理由不使用 dplyr 吗?也许我误解了你的需求。谢谢 -
在我的实际用例中,它不是一个分组的 data.frame,它是一个带有单独 data.frames 的列表(这必须是)。我想要一个对我的客户来说真的很容易使用的功能,它不仅仅是过滤,过滤也是其中的一部分。
标签: r list data.table