我想用字符创建一个矩阵。字符是数据帧中矢量的名称。
df <- data.frame(rnorm(100),rnorm(100),rnorm(100),rnorm(100))
colnames(df) <- c("a1","b1","c1","d1")
a <- paste("df$",names(df), sep = "")
如何使用这些字符引用数据框并将向量中的数据转换为矩阵?类似的东西:
as.matrix(cbind(df$a1,df$b1))
但不是我写df$a1,df$b1
而是来自a
答案 0 :(得分:5)
只需使用
as.matrix(df[,vec])
其中vec
是一个数值向量,其值是您要保留的列索引,或者是一个带有列名称的字符向量。