什么';R中()和[]的区别是什么

什么';R中()和[]的区别是什么,r,variable-assignment,assignment-operator,R,Variable Assignment,Assignment Operator,有谁能告诉我它的确切含义吗,我对R编程还不熟悉。x>5返回FALSE-TRUE-TRUE由于3TRUEs,其和为3。它告诉您每个x值(x[i]>5?)是否满足条件,并对响应求和 x[x>5]对大于5的每个值进行子集x,返回6、8和10,其总和为24。[用于根据向量对对象的值进行子集。根据要子集的对象的类型,有不同的规则 (用于指定将传递给函数的参数。在您的例子中,是一个和 有关大括号的更多信息,请参见?”(“) 您的第一条语句将测试x中的每个元素,并返回它是否为真。这将分别强制为1和0,并求和(

有谁能告诉我它的确切含义吗,我对R编程还不熟悉。

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


x[x>5]
对大于5的每个值进行子集
x
,返回6、8和10,其总和为24。

[
用于根据向量对对象的值进行子集。根据要子集的对象的类型,有不同的规则

用于指定将传递给函数的参数。在您的例子中,是一个和

有关大括号的更多信息,请参见
?”(“

您的第一条语句将测试x中的每个元素,并返回它是否为真。这将分别强制为1和0,并求和(0+0+0+1+1+1=3)


第二个语句将只对大于5(6+8+10=24)的元素进行子集,并对它们进行汇总。

我认为你可以很容易地找到结果。同样,应该是
sum
而不是
sum
@moman822感谢它是经过代码编辑的,但无论如何都没有回答或帮助,请详细说明[]是索引。sum(x>5)表示将()中的向量或元素相加,即(FALSE-FALSE-TRUE-TRUE),R将TRUE理解为1,将FALSE理解为0。因此结果为3。但是,x[x>5]表示在x向量中“查找”为“TRUE”的向量,实际上是:x[FALSE-TRUE-TRUE]。因为[]作为索引,它只会让我们得到为真的元素,并删除为假的元素。所以它是对x中为真的元素求和;6,8,10。所以它变成24。当然
也可以单独用作函数(只返回它的参数),比如
((函数(x,y)不可见(x+y))(1,2))
x <- c(2,4,6,8,10)
sum(x>5) 
sum(x[x>5])