R如何赋值和引用从字符串转换而来的变量名

R如何赋值和引用从字符串转换而来的变量名,r,cbind,R,Cbind,我的问题嵌入在下面的代码中 我已经从字符串中创建了变量名,我可以给这些变量名赋值(在本例中是一个列表),但是我不能对列表执行任何简单的操作,除非我使用创建的变量名,我不想这样做。如何使用这些列表执行简单操作,例如示例中的cbind id = c(96, 99) namevector = paste("id.", per, sep = "") assign(namevector[1],c(2,3)) assign(namevector[2],c(52,53)) cbind(id.96, id.99

我的问题嵌入在下面的代码中

我已经从字符串中创建了变量名,我可以给这些变量名赋值(在本例中是一个列表),但是我不能对列表执行任何简单的操作,除非我使用创建的变量名,我不想这样做。如何使用这些列表执行简单操作,例如示例中的cbind

id = c(96, 99)
namevector = paste("id.", per, sep = "")
assign(namevector[1],c(2,3))
assign(namevector[2],c(52,53))
cbind(id.96, id.99) # This is the desired answer. How do I get it, without using "id.96" or "id.99"?
#here are ideas that did not work 
cbind(namevector[1], namevector[2])
cbind(as.name(namevector[1]), as.name(namevector[2])) 



我们可以使用
mget
返回
list
中对象的值,然后使用
do.call将
list
元素返回到单个数据集

do.call(cbind, mget(namevector))
#      id.96 id.99
#[1,]     2    52
#[2,]     3    53

假设
per
id
,我们可以使用
mget
返回
列表中对象的值,然后使用
do.call将
list
元素返回到单个数据集

do.call(cbind, mget(namevector))
#      id.96 id.99
#[1,]     2    52
#[2,]     3    53
假设
per
id