如何为split中的数据帧列表创建自定义函数

时间:2016-11-18 20:03:31

标签: r list

我是功能新手,刚发现分裂。 我有一个split函数的数据帧列表。对于每个数据帧,我想计算一个特定正则表达式的数量,并将总计数转储到一个向量中(我打算将其添加到所有数据帧的矩阵中)。

虽然很容易创建计数,但我不知道如何将其转换为对列表中的所有数据帧执行相同操作的函数:

这是我到目前为止的尝试

lapply(PClst, function(x) nrow(x[grepl(".*denoma.*", x$Dx, perl = TRUE, ]))

但是我收到了错误:

Error in x$Dx : $ operator is invlaid for atomic vectors

1 个答案:

答案 0 :(得分:2)

我们可以这样做:

list <- split(mtcars, mtcars$cyl)
sapply(list, function(x) sum(grepl("2", x$carb)))

我们会得到一个命名向量作为输出:

4 6 8 
6 0 4