请教:R语言中是否有可用于查找向量内元素的函数?
R语言向量元素查找函数及基础概念梳理
首先明确R中向量的核心概念:向量是同类型元素的有序集合,R会自动将混合类型的向量强制转换为同一类型(比如数字和字符混合会全转成字符),这是容易踩坑的点,也会影响后续的元素查找。
下面是常用的向量元素查找相关函数:
%in%:用于判断目标元素是否存在于向量中,返回与目标元素长度一致的布尔值向量sample_vec <- c(5, 2, 7, 2, 9) 2 %in% sample_vec # 输出 TRUE c(3,7) %in% sample_vec # 输出 FALSE TRUEwhich():返回向量中满足条件的元素的索引位置,可以配合比较运算符使用which(sample_vec == 2) # 输出 2 4(对应向量中第2、4个元素) which(sample_vec > 6) # 输出 3 5match():返回目标元素在向量中首次出现的索引,如果无匹配则返回NAmatch(2, sample_vec) # 输出 2 match(c(3,7), sample_vec) # 输出 NA 3any()/all():快速判断向量中是否存在符合条件的元素,或所有元素都满足条件any(sample_vec == 0) # 输出 FALSE all(sample_vec > 1) # 输出 TRUE
另外,也可以直接通过索引提取符合条件的元素,比如:
sample_vec[sample_vec > 5] # 提取向量中大于5的元素,输出 7 9
内容的提问来源于stack exchange,提问作者Hemant Sharma
相关产品推荐
相关产品推荐

