2016-03-04 80 views
0

我从字符串向量创建数据集列变量时遇到问题。我看了很多教程和这个论坛的问题没有答案。 这是一个伪代码来自字符串向量的数据集列变量

library(pROC) 
data(aSAH) 
vector = c('wfns','age') 
loc <- as.name(vector[1]) 
aSAH$loc 

我试图as.name,as.symbol,EVAL(解析器),并且我有NULL作为输出。 我的目标是使用vector [1]作为变量名:aSAH $ wfns。 谢谢

+0

你只是想'DF [矢量] < - NA'? – thelatemail

+0

我不确定你想用你的数据框做什么。这个问题还不清楚。 – fhlgood

+0

我的目标是使用vector [1]作为变量名:aSAH $ wfns – user1594303

回答

0

我已经通过这种方式解决了这个问题:

library(pROC) 
data(aSAH) 
vector_names = c('wfns','age') 
Variables_vector_index = c() 
for (i in 1:length(vector_names)){ 
    Variables_vector_index = c(Variables_vector_index,grep(vector_names[i], colnames(aSAH))) 
} 

aSAH[Variables_vector_index[1]] 

这相当于ASAH $ WFNS

0

我认为你想loc列是“wfns”? 如果是这样的话,则可以使用dplyr包和发生变异功能

library(pROC) 
data(aSAH) 
vector = c('wfns','age') 
loc <- as.name(vector[1]) 

#Use dplyr 
library(dplyr) 
aSAH <- aSAH%>%mutate(loc = vector[[1]]) 

对于传统的方法,可以循环并添加列(给定要在表中已经开始7列),以下着作。

for (i in 1:length(vector)) { 

          aSAH[,i+7] <- vector[[i]] 
          colnames(aSAH)[[i]] <- vector[[i]] 

           } 

如果你的意思是别的问题不是很清楚。