从字符串更改为对象

时间:2017-11-07 06:27:07

标签: r string object

假设我有以下语法:

a1 <- c(2,3)
a2 <- c(6,8)
a3 <- c(1,9)

所以,通过使用cbind,可以看到以下内容:

cbind(a1,a2,a3)
     a1 a2 a3
[1,]  2  6  1
[2,]  3  8  9

但是,语法:

cbind(paste('a',1:3,sep=''))

没有给我

     a1 a2 a3
[1,]  2  6  1
[2,]  3  8  9

如何使用功能粘贴显示以下内容:

     a1 a2 a3
[1,]  2  6  1
[2,]  3  8  9

2 个答案:

答案 0 :(得分:1)

如果我们需要从字符串中获取多个对象,请使用mget返回list中的值,然后将do.call cbind返回matrix

do.call(cbind, mget(paste0('a',1:3)))
#     a1 a2 a3
#[1,]  2  6  1
#[2,]  3  8  9

答案 1 :(得分:0)

如果要将其更改为对象,可以创建矩阵:

m=matrix(c(a1,a2,a3),ncol=3)
colnames(m)=c("a1","a2","a3")
> m
     a1 a2 a3
[1,]  2  6  1
[2,]  3  8  9

> class(m)
[1] "matrix"