我有一个包含多个列的数据框,想要添加一个新列,并将其命名为之前定义好的变量名。例如:
df <- data.frame("A" = c(1, 2, 3, 4), "B" = c("a", "c", "d", "b"))
Variable <- "C"
这是一个函数的一部分,其中变量将会发生变化,而不是每次都指定:
df$C <- NA
我希望能够有一行代码,使得“Variable”成为额外列的名称。尝试使用[
而不是$
:
> df[, Variable] <- NA
> df
A B C
1 1 a NA
2 2 c NA
3 3 d NA
4 4 b NA
df <- data.frame("A" = c(1, 2, 3, 4), "B" = c("a", "c", "d", "b") )
Variable<-"C"
dfname<-"df"
df<-within ( assign(dfname , get(dfname) ),
assign(Variable, NA )
)
df[[Variable]] <- NA
- Philas.character
使其正常工作:df[, as.character(Variable)] <- NA
否则,您将会收到以下错误提示:new columns would leave holes after existing columns
- David M