在r中创建一个循环变量



我是R的新手,我正试图用字符串mod和变量x在R中创建一个循环

到目前为止,我的代码看起来像这样:m=1b=1在代码 的开头
for (i in 1:5){
mod = 'mod'
mod + as.character(m) = b
m = as.numeric(m)
m = m+1
b = (b + 1) * 2
}

我想要的输出是:

mod1 = 1
mod2 = 4
mod3 = 10

这是可能的还是我想太多了?

您可以使用assign(paste("mod",m,sep=""), b)

为id递增的变量赋值你的循环可以像这样:

for (i in 1:5){
assign(paste("mod",m,sep=""), b)
m = m+1
b = (b + 1) * 2
}

当循环关闭时,您可以在内存中找到这些变量:

> mod1
[1] 1
> mod2
[1] 4
> mod3
[1] 10
> mod4
[1] 22
> mod5
[1] 46
> mod6
[1] 94

将结果保存为列表,使用list2env

m=1
b=1
res=list()
for (i in 1:5){
mod = 'mod'
res[[paste0(mod,as.character(m))]] = b
m = as.numeric(m)
m = m+1
b = (b + 1) * 2
}
list2env(res,envir = .GlobalEnv)

相关内容

  • 没有找到相关文章

最新更新