什么';R中()和[]的区别是什么
有谁能告诉我它的确切含义吗,我对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,并求和(
x>5
返回FALSE-TRUE-TRUE
由于3TRUE
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])