使用长度和序列之间向量索引的差异
Differences in indexing of vector between using length and a sequence
我正在设置矢量数据,想提取其中的一部分。
我尝试了两种方法,如下图。我认为这些应该有相同的输出,但结果不同。为什么?
data1<- c( 1, 2, 3, 4, 5 )
data1[ length( data1 ) - 2 : length( data1 ) ]
# ; [1] 3 2 1
data1[ 3 : 5 ]
# ; 3 4 5
因为运算符优先级(检查?Syntax
- 一元-
,+
在序列运算符:
之上),用()
包裹起来求值作为一个块
data1[(length(data1)-2):length(data1)]
#[1] 3 4 5
length( data1 ) - 2 : length( data1 )
#[1] 3 2 1 0
(length( data1 ) - 2) : length( data1 )
#[1] 3 4 5
我正在设置矢量数据,想提取其中的一部分。
我尝试了两种方法,如下图。我认为这些应该有相同的输出,但结果不同。为什么?
data1<- c( 1, 2, 3, 4, 5 )
data1[ length( data1 ) - 2 : length( data1 ) ]
# ; [1] 3 2 1
data1[ 3 : 5 ]
# ; 3 4 5
因为运算符优先级(检查?Syntax
- 一元-
,+
在序列运算符:
之上),用()
包裹起来求值作为一个块
data1[(length(data1)-2):length(data1)]
#[1] 3 4 5
length( data1 ) - 2 : length( data1 )
#[1] 3 2 1 0
(length( data1 ) - 2) : length( data1 )
#[1] 3 4 5