R中()和[]之间的区别是什么

时间:2017-05-04 18:04:36

标签: r variable-assignment assignment-operator

x <- c(2,4,6,8,10)

以下结果如何,

sum(x>5) 
sum(x[x>5])

有人能告诉我它究竟意味着什么,我是R编程的新手。

2 个答案:

答案 0 :(得分:3)

由于3 x>5 s,

FALSE FALSE TRUE TRUE TRUE会返回TRUE,其总和为3。它告诉您是否满足x(x[i]>5?)的每个值的条件并对响应求和。

每个值大于5的

x[x>5]子集x,返回6,8和10,其总和为24。

答案 1 :(得分:2)

[用于根据向量对对象的值进行子集化。有不同的规则取决于您要分组的对象类型。

(用于指定将传递给函数的参数。在你的情况下,一笔钱。

有关大括号的更多信息,请参阅?"("

你的第一个语句将测试x中的每个元素,如果它是真的则返回。这将分别强制为1和0并总结(0 + 0 + 0 + 1 + 1 + 1 = 3)。

第二个语句将仅对大于5的元素(6 + 8 + 10 = 24)进行子集化并将它们相加。