R语言中append()函数未将更新后的变量添加至列表问题求助
问题根因
- R语言的
append()函数不会直接修改传入的原列表,只会返回追加元素后的新列表,你的代码中没有将append()的执行结果重新赋值给loopNum,因此loopNum一直保留初始的50个0,没有更新。
修正后代码
loops <- 0 loopNum <- rep(loops, times = 50) repeat { loops <- loops + 1 print(loops) loopNum <- append(loopNum, rep(loops, times = 50)) if (loops == 50){ break } }
可选优化方案
如果不需要强制用循环实现,一行代码即可达到相同效果,执行效率远高于循环:
loopNum <- rep(0:50, each = 50)
内容的提问来源于stack exchange,提问作者milsandhills
相关产品推荐
相关产品推荐

