【问题标题】:Dataset column variable from string vector来自字符串向量的数据集列变量
【发布时间】:2016-03-04 00:05:10
【问题描述】:

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

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

我尝试了 as.name、as.symbol、eval(parser),并且我将 NULL 作为输出。 我的目标是使用 vector[1] 作为变量名:aSAH$wfns。 谢谢

【问题讨论】:

  • 你只想要df[vector] &lt;- NA 吗?
  • 我不确定你想用你的数据框做什么。这个问题很不清楚。
  • 我的目标是使用vector[1]作为变量名:aSAH$wfns

标签: r string variables


【解决方案1】:

我想你希望 loc 列是“wfns”? 如果是这种情况,您可以使用 dplyr 包和 mutate 函数

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]]

                              }

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

【讨论】:

    【解决方案2】:

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

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-05
      • 2019-04-17
      • 1970-01-01
      • 1970-01-01
      • 2015-04-10
      • 2013-06-11
      • 2013-01-13
      相关资源
      最近更新 更多