2015-04-22 50 views
2
v <- c(1,2,3,4,5,6) 

而且我提到最大= 4分= 2我怎样才能找出哪些比例值超出范围?

所以,我想知道值多少会超出这个范围。

我能做到这一点(v < 2 & v > 4)

但不知道怎么办了......

后,我会简单地创建相对于价值观的总数(这里6)的百分比。

+5

'总和(V < 2 & v > 4)'我怀疑你想'总和(V < 2 | v > 4)',但因为你不会有任何数字,均小于2和大于4 – Jota

+0

感谢。第二个。 – maximusdooku

回答

2

你可以简单地做:

sum(v < 2 | v > 4)/length(v) 
[1] 0.5 

你想用|而不是&因为没有数量将不到2和大于4

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 OR运​​算符由下式给出| in R.

要获得超出范围的值的比例,您可以将总和除以向量的长度,或者使用mean(),因为均值是总和除以长度。

mean(v < 2 | v > 4) 
相关问题