【发布时间】:2017-01-22 17:25:19
【问题描述】:
这看起来应该是微不足道的,但结果却出乎意料
# create empty list
list=c()
# create vector of one hundred 4s
fours=rep(4,100)
# for loop. Try to split into 10
for(i in seq(10)){
# split into chunks: i=1, take fours[1:10]; i=2, fours[11:20]...
# when i=10, should return fours[91:100]
chunks=fours[1+10*(i-1):10*i]
# add smaller lists of four back into bigger list
list=c(list,chunks)
}
list
# returns [1] 4 4 4 4 4 4 4 4 4 4 NA 4 4 4 4 NA NA NA NA NA NA 4 4 NA NA
[26] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
我希望只取回一百个4 值。
【问题讨论】:
-
从我的第一眼看,我们都犯的一个严重错误是在子集化时在
:周围使用算术运算符时会忽略那些()。