1

我正在尝试绘制从一组 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)
}
4

0 回答 0