R - 转换列类型,其中列名称是可变的

时间:2015-09-15 21:19:33

标签: r dataframe

非常简单的问题,但我无法找到答案。 假设我想将数据帧列类型从字符串转换为double,但是列名在编译时是未知的,所以我不能这样写:

train <- transform(train, columnName = as.double(columnName))

但如果我写这样的smth

varKnownAtRuntime <- "columnName"
train <- transform(train, varKnownAtRuntime = as.double(varKnownAtRuntime))

它只是追加了列&#34; varKnownAtRuntime&#34;到我的数据框,虽然我想改变火车类型$ columnName

1 个答案:

答案 0 :(得分:1)

transform是一种非标准评估快捷方式功能。如果要使用存储在变量中的列名,则需要使用标准评估函数,如[

varKnownAtRuntime <- "columnName"
train[, varKnownAtRuntime] = as.double(train[, varKnownAtRuntime])