R为向量的多个元素指定相同的值

时间:2014-06-28 07:38:01

标签: r loops vector elements

我无法为向量的多个元素分配相同的值。这是我的非工作示例:

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个国家助理。下一步是什么?

1 个答案:

答案 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