String 通过字符串替换将参数传递给函数

String 通过字符串替换将参数传递给函数,string,r,function,parsing,ggplot2,String,R,Function,Parsing,Ggplot2,您如何费力地完成eval()、parse()和其他函数?这应该很简单,因此我省略了数据 原始代码,带有数据集中的属性和图表标题的变通方法 require(ggplot2) ggplot(data = qs) + geom_bar(aes(x = G74_Q0005b)) + ggtitle(attr(qs, "variable.labels")[grep("G74_Q0005b", names(qs))]) 下面是一个只传递变量名的函数: plot.label <- fun

您如何费力地完成
eval()
parse()
和其他函数?这应该很简单,因此我省略了数据

原始代码,带有数据集中的属性和图表标题的变通方法

require(ggplot2)
ggplot(data = qs) + geom_bar(aes(x = G74_Q0005b)) + 
      ggtitle(attr(qs, "variable.labels")[grep("G74_Q0005b", names(qs))])
下面是一个只传递变量名的函数:

plot.label <- function(var){
  ggplot(data = qs) + geom_bar(aes(x = var)) + 
    ggtitle(attr(qs, "variable.labels")[grep(var, names(qs))])
  }

plot.label美学部分需要使用
aes\u字符串。它将包含字符串的变量作为参数

plot.label <- function(var){
  ggplot(data = qs) + geom_bar(aes_string(x = var)) + 
    ggtitle(attr(qs, "variable.labels")[grep(var, names(qs))])
  }

plot.label是的,这很有效……这是ggplot的特质吗?@Rico不确定我会称之为特质。在
aes()
(不带引号的变量名)中指定变量的“正常”方式可能更不寻常,因为它使用非标准求值。
aes\u string
函数就是专门为此提供的。第二个问题似乎是重复的。我让别人决定。