我正在尝试绘制从CSV文件集合中派生的数据,但我似乎在使用函数中的ggplot和ggsave时遇到了一些麻烦。尽管在函数中已经定义了一个数据帧,但ggsave会抱怨以下错误:
Error in eval(expr, envir, enclos) : object 'dataframe' not found
Calls: process ... sapply -> lapply -> eval.quoted -> lapply -> FUN ->
eval
我发现一些论坛指的是R范围内的奇怪,但我看不出ggplot是如何找不到之前定义的几行变量的。
功能代码是:
process <- function(path) {
...
byhour <-table(audit$method, audit$hour)
dataframe <- data.frame(byhour)
dataframe$time <- strptime(dataframe$Var2, "%Y-%m-%d %H:%M:%S")
basename <- file_path_sans_ext(path)
plotname <- paste0(basename, ".jpg")
plot <- ggplot(dataframe, aes(dataframe$time, Freq)) + geom_bar(stat="identity") + scale_x_datetime()
ggsave(plot, file=plotname)
}