【发布时间】:2019-01-31 06:11:01
【问题描述】:
查看了有关此主题的几篇帖子,但仍然无法弄清楚。我想我只是问一下:
我写了一个for循环:
for (i in 0:5) {
est16_y2016$pov50_[i] <- est16_y2016$pop[i]*est16_y2016$ITPR_0.5
}
实现与以下代码相同的结果:
est16_y2016$pov50_0 <- est16_y2016$pop0 * est16_y2016$ITPR_0.5
est16_y2016$pov50_1 <- est16_y2016$pop1 * est16_y2016$ITPR_0.5
est16_y2016$pov50_2 <- est16_y2016$pop2 * est16_y2016$ITPR_0.5
est16_y2016$pov50_3 <- est16_y2016$pop3 * est16_y2016$ITPR_0.5
est16_y2016$pov50_4 <- est16_y2016$pop4 * est16_y2016$ITPR_0.5
est16_y2016$pov50_5 <- est16_y2016$pop5 * est16_y2016$ITPR_0.5
但循环不起作用。没有错误消息,也没有生成新变量。帮助!谢谢。
【问题讨论】:
-
试试
paste0('est16_y2016$pov50_',i) -
看起来像XY problem。你想做什么?请提供更多背景信息。
-
@JohnColeman 我正在尝试生成一些新变量(您可能从我的代码中可以看出),并且我想使用 for-loop 使代码更紧凑。
-
@A.Suliman 我在哪里把它放在循环中?谢谢。
-
@EricWang 抱歉,这应该对
for (i in 0:5) est16_y2016[,paste0('pov50_',i)] <- est16_y2016[,paste0('pop',i)]*est16_y2016$ITPR_0.5 }有帮助@