在对 Dataframe 执行操作后生成ggplot()
图时,我遇到了一个意外问题。我提供了一个说明性示例:
func <- function(){
library(ggplot2)
df <- read.table(....)
# Perform operation on df to retrieve column of interest index/number
column.index <- regexpr(...)
# Now need to find variable name for this column
var.name <- names(df)[column.index]
# ...also need to mutate data in this column
df[,column.index] <- df[,column.index] * 10
# Generate plot
plot <- ggplot(data, aes(x=var.name))+geom_bar()
print(plot)
}
这里ggplot将抛出一个错误,因为var.name
被引用,例如,“mpg”。有什么想法如何解决这个问题?
编辑:从this question测试解决方案无效。
2条答案
按热度按时间mlnl4t2r1#
使用
aes_string
,它允许您为变量传递字符串名称。nhjlsmyf2#
你可以使用“dplyr”包将www.example.com列重命名var.name为通用名称(x),然后在x上绘图: