gpt4 book ai didi

r - for 循环对象名称迭代

转载 作者:行者123 更新时间:2023-12-04 11:03:45 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to use `assign()` or `get()` on specific named column of a dataframe?

(2 个回答)



How to name variables on the fly?

(6 个回答)


8年前关闭。




我正在做一个项目,我必须做很多重复,如果我可以在 for 循环中处理多个对象,生活会容易得多。为了详细说明我的问题,我想出了一个(愚蠢的)例子

例如,如果这样做来创建我的数据:

for (i in 1:10)
{
assign(paste("Season",i, sep = ""),rnorm(10,0,1))
}

所以我有第 1 季、第 2 季、..、第 10 季。
是否可以将 10 个对象的第一个数字更改为零 使用 for 循环 .半伪代码看起来像这样。但这当然行不通。
for (i in 1:10)
{
Seasoni[1]<-0
}

有人有解决方案吗?

斯特凡

最佳答案

您问题的直接解决方案是使用 getpaste

for(i in 1:10)  
{
Object = get(paste0("Season", i))
Object[1] = 0
assign(paste0("Season", i), Object)
}

但不要这样做 .

这是 R 的可怕用法。正如评论中所建议的,将结果存储在列表中:
Seasons = lapply(rep(10,10), rnorm) #Generate data
Seasons

然后应用函数:
Seasons = lapply(Seasons, replace, list=1, values=0)

关于r - for 循环对象名称迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19255289/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com