我是R的新手,我正试图用字符串mod
和变量x
在R中创建一个循环
m=1
和b=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)