r语法:`[1]`的目的

时间:2014-08-20 17:08:28

标签: r syntax

我发现此代码:http://onertipaday.blogspot.co.il/search/label/descriptive%20statistic 该代码描述了在向量中找到minmax的数据集中查找inf-inf的变通方法。但是,我不理解最后两行代码中[1][2]的用途。

data <- c(-Inf, 1,2,3,4,5,6,7,8,9,10, Inf)
max(data)
# Return Inf
min(data)
# Return -Inf
# To solve the problem I went to:
range(data, finite=TRUE)
# Then you can do
myMinimum <- range(data, finite=TRUE)[1]
myMaximum <- range(data, finite=TRUE)[2]

1 个答案:

答案 0 :(得分:1)

range函数返回长度为2的向量,第一个是最小值,第二个是最大值。

例如:

> a <- 15:30
> range(a)
[1] 15 30

使用[]运算符可以提取所需的元素

 > range(a)[1]
 [1] 15
 > range(a)[2]
 [1] 30

或者您也可以这样做:

 r <- range(a)
 my.min <- r[1]
 my.max <- r[2]

有关详细信息,请阅读?range

此外,您可以直接使用minmax功能。