以下是我的r
代码。我正在尝试检查是否包含真实值a = 10
或数据帧中。如果它包含在数据帧中,那么我需要计算该数据帧的长度,否则我要分配length 0
。
假设我要检查的值是 10
k1 = c(1,2,3,5,6)
k2 = c(10,12,13,15,16,18)
例如,对于k1
集合,我想获取长度,0
而对于k2
长度,则必须为6
我试图使用以下代码来完成这项工作
library(tidyverse)
map_lgl(k, `%in%`, x = 10) %>% length
为什么它不适用于k1
数据集?
您可以使用简单的ifelse
语句来完成此操作-无需其他操作。
a <- 10
ifelse(a %in% k2, length(k2), 0)
[1] 0
您可以包装一个函数并将不同的集合输入:
my_func <- function(x){
ifelse(a %in% x, length(x), 0)
}
my_func(k2)
[1] 6
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句