【问题标题】:How to create the equivalent of a COUNTIF Excel function in R which will work for a list of nums如何在 R 中创建等效于 COUNTIF Excel 函数的函数,该函数适用于 nums 列表
【发布时间】:2023-01-07 13:14:41
【问题描述】:
我有一个看起来像这样的列表:
> str(my_list)
List of 20000
$ : num 1
$ : num 1
$ : num 0.667
$ : num 1
$ : num 1
$ : num 1
$ : num 1
$ : num 0.667
$ : num 1
$ : num 1
$ : num 1
$ : num 1
$ : num 1
$ : num 1
.
.
.
我想创建一个 lapply 来告诉我列表中有多少元素 < 1,这当然是一个逻辑条件。对我来说,这听起来像是我可以在 Excel 中使用 COUNTIF 函数轻松完成的事情。
【问题讨论】:
标签:
r
iteration
counting
countif
【解决方案1】:
如果它是一个每个元素长度为1的list,只需unlist它到一个向量并得到逻辑向量(< 1)的sum将给出小于1的列表元素数的计数
sum(unlist(my_list) < 1, na.rm = TRUE)
如果列表元素的长度 > 1,我们可能必须使用 sapply 遍历列表,创建一个逻辑向量,并可能用 any 或 all 换行(如果目的是找到小于的任何元素1 或所有元素)
sum(sapply(my_list, (x) any(x < 1, na.rm = TRUE)))