2016-03-04 67 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]] 

           } 

如果你的意思是別的問題不是很清楚。