R:使用字符串变量名从列创建新数据

时间:2017-01-10 13:06:35

标签: r

我有字符串变量str,其值为"car"。我想使用str在我的数据框中创建一个新列,但会创建一个名为"car"的列。以下是一个简短的例子。

a<-c("Bill", "Jo", "Sue")
b<-c(3,4,10)
d<-c("Red", "Blue", "Yellow")
df<-data.frame(b,d,row.names=a)
colnames(df)<-c("age","favorite_color")
df
         age favorite_color
    Bill   3            Red
    Jo     4           Blue
    Sue   10         Yellow
str<-"car"
df$str<-character(nrow(df))
df
         age favorite_color  str
    Bill   3            Red      
    Jo     4           Blue      
    Sue   10         Yellow      

有没有办法在创建新数据框列时评估str,以便列名为"car"

1 个答案:

答案 0 :(得分:0)

您的方法尝试创建名为“str”的新列,而不是对象str指向的名称。试试这个:

> df[,str]<-character(nrow(df))
> df
     age favorite_color car
Bill   3            Red
Jo     4           Blue
Sue   10         Yellow