我想使用变量的值作为对象名称的一部分来创建新对象,其名称不必显式列出。一个例子:
这是我不想做的,声明列表中从 1 到 10 的 10 个对象的每个名称。
a=41:50
a1=a[1]
a2=a[2]
a3=a[3]
a4=a[4]
a5=a[5]
a6=a[6]....
Run Code Online (Sandbox Code Playgroud)
这是更有意义的 - 只需将名称作为“a”,然后与循环中的 i 值组合即可。做同样的事情,创建 10 个对象。
for(i in 1:10){
a#paste.in.the.value.of.i.somehow...=a[i]
}
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
for(i in 1:10) {assign(paste0("a", i), a[i])}
a1
#[1] 41
a2
#[1] 42
a3
#[1] 43
Run Code Online (Sandbox Code Playgroud)