您如何浏览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))])
}
但显然仅var
是不够的,我不是程序员。
可能相关吗?
答案 0 :(得分:1)
您需要使用aes_string
作为美学部分。这需要一个包含字符串作为参数的变量。
plot.label <- function(var){
ggplot(data = qs) + geom_bar(aes_string(x = var)) +
ggtitle(attr(qs, "variable.labels")[grep(var, names(qs))])
}