R()函数与向量

时间:2016-03-14 16:17:44

标签: r

我有三个载体

evens <- c(2,4,6,8,10,12,14,16,18,20)
r <- c(4,5,8,9,12)
t <- c(10,12)

which( evens > r)# returns to 6,7,8,9,10
which( evens > t)# returns to 7,8,9,10

为什么结果不同?

请问您能说明哪种功能有效?

1 个答案:

答案 0 :(得分:3)

正如其他人已经指出这是由于R的回收规则。你可以通过这样做来详细了解它的工作原理:

> data.frame(evens, r, t, evens > r, evens > t)
   evens  r  t evens...r evens...t
1      2  4 10     FALSE     FALSE
2      4  5 12     FALSE     FALSE
3      6  8 10     FALSE     FALSE
4      8  9 12     FALSE     FALSE
5     10 12 10     FALSE     FALSE
6     12  4 12      TRUE     FALSE
7     14  5 10      TRUE      TRUE
8     16  8 12      TRUE      TRUE
9     18  9 10      TRUE      TRUE
10    20 12 12      TRUE      TRUE

因此,当您执行which(evens > r)时,您会获得上方TRUE列中所有event...r的索引。