R中的()和[]有什么区别
What's the difference between () and [] in R
x <- c(2,4,6,8,10)
以下结果是什么,
sum(x>5)
sum(x[x>5])
谁能告诉我它到底是什么意思,我是 R 编程的新手。
x>5
returns FALSE FALSE TRUE TRUE TRUE
由于有 3 个 TRUE
,因此总和为 3。它告诉您每个 x 值是否满足条件(x[i]>5
?)并对响应求和。
x[x>5]
对每个大于 5 的值进行子集 x
,返回 6、8 和 10,它们的总和为 24。
[
用于根据向量对对象的值进行子集化。有不同的规则,具体取决于您要子集化的对象类型。
(
用于指定将传递给函数的参数。在你的情况下,总和。
有关大括号的更多信息,请参阅 ?"("
。
您的第一个语句将测试 x 和 return 中的每个元素是否为真。这将分别被强制为 1 和 0 并求和 (0 + 0 + 0 + 1 + 1 + 1 = 3).
第二个语句将仅对大于 5 (6 + 8 + 10 = 24) 的元素进行子集化,并对它们求和。
x <- c(2,4,6,8,10)
以下结果是什么,
sum(x>5)
sum(x[x>5])
谁能告诉我它到底是什么意思,我是 R 编程的新手。
x>5
returns FALSE FALSE TRUE TRUE TRUE
由于有 3 个 TRUE
,因此总和为 3。它告诉您每个 x 值是否满足条件(x[i]>5
?)并对响应求和。
x[x>5]
对每个大于 5 的值进行子集 x
,返回 6、8 和 10,它们的总和为 24。
[
用于根据向量对对象的值进行子集化。有不同的规则,具体取决于您要子集化的对象类型。
(
用于指定将传递给函数的参数。在你的情况下,总和。
有关大括号的更多信息,请参阅 ?"("
。
您的第一个语句将测试 x 和 return 中的每个元素是否为真。这将分别被强制为 1 和 0 并求和 (0 + 0 + 0 + 1 + 1 + 1 = 3).
第二个语句将仅对大于 5 (6 + 8 + 10 = 24) 的元素进行子集化,并对它们求和。