我无法为向量的多个元素分配相同的值。这是我的非工作示例:
dog <- c()
year <- c(1980,1990)
for (i in 1:2){
dog[(i*1):(i*12)]<- unique(year)[i]
}
我希望dog
向量有1980年的十二年和1990年的十二年。但我得到的是1980年和1990年的22个国家助理。下一步是什么?
答案 0 :(得分:0)
如果您展开循环,那么您正在做的是
dog <- c()
year <- c(1980,1990)
dog[1:12]<- unique(year)[1]
dog[2:24]<- unique(year)[2]
是
[1] 1980 1990 1990 1990 1990 1990 1990 1990 1990 1990
[11] 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990
[21] 1990 1990 1990 1990
第二项任务几乎覆盖了一切。我不确定您是希望值是交替还是您希望将值组合在一起,但您可以使用
轻松创建这样的矢量rep(year, each=12)
# [1] 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980
# [11] 1980 1980 1990 1990 1990 1990 1990 1990 1990 1990
# [21] 1990 1990 1990 1990
或
rep(year, times=12)
# [1] 1980 1990 1980 1990 1980 1990 1980 1990 1980 1990
# [11] 1980 1990 1980 1990 1980 1990 1980 1990 1980 1990
# [21] 1980 1990 1980 1990