2017-04-06 96 views
0
numbers = 1:100 

for(x in seq(26,1,-2)) { 
    print(numbers[x:x+2]) 
} 

多个元素和上面的打印:打印从列表

[1] 28 
[1] 26 
    {etc} 
[1] 4 

我的问题是,为什么不循环打印像列表中的部分(26 27 28)?为什么每次迭代只打印一个数字?我需要改变输出才能成为列表的切片?所需出来把

[1] 27 28 
[1] 25 26 
    {etc} 
[1] 3 4 

这是令人困惑我,因为

numbers[1:5] 
# prints [1] 1 2 3 4 5 
+1

使用'号[X:(X + 2)] '。查看'?Syntax'帮助页面,了解不同操作员的操作顺序。 – MrFlick

回答

2

你需要一些括号,否则(x:x)+2

for(x in seq(26,1,-2)) { 
    print(numbers[x:(x+2)]) 
}