从函数中获取变量的列名

时间:2016-05-11 09:49:33

标签: r

我可以按照以下方式使用with函数:

with(mtcars, sum(mpg))
# [1] 642.9

是否可以从变量中加载列名?我一直试着追随没有运气:

column <- "mpg"
with(mtcars, sum(column))
# Error in sum(column) : invalid 'type' (character) of argument
with(mtcars, sum(eval(column)))
# Error in sum(eval(column)) : invalid 'type' (character) of argument

1 个答案:

答案 0 :(得分:3)

有几种选择。我们将evalas.name/as.symbol

一起使用
with(mtcars, sum(eval(as.name(column))))
#[1] 642.9

或者我们可以使用get

with(mtcars, sum(get(column)))
#[1] 642.9