v <- c(1,2,3,4,5,6)
我提到max = 4,min = 2
所以,我想知道有多少值超出这个范围。
我可以这样做(v < 2 & v > 4)
但不确定如何计算......
之后我将简单地创建一个相对于总值数的百分比(这里是6)。
答案 0 :(得分:2)
您可以这样做:
sum(v < 2 | v > 4) / length(v)
[1] 0.5
您希望使用|
代替&
,因为任何数字都不会小于2且大于4。
答案 1 :(得分:2)
您可以创建逻辑矢量并对其求和。 TRUE
元素计为1,FALSE
为0,因此这将为您提供与特定条件匹配的元素数。
v <- c(1, 2, 3, 4, 5, 6)
sum(v < 2 | v > 4)
后者返回3,因为有三个值小于2或大于4.比较是矢量化的,因此v < 2
测试v
的每个元素是否小于2。运算符由R中的|
给出。
要获得超出范围的值的比例,您可以将和除以向量的长度,或者使用mean()
,因为均值是除以长度的总和。
mean(v < 2 | v > 4)