**已关闭。**此问题是not reproducible or was caused by typos。目前不接受答案。
这个问题是由一个错字或一个无法再重现的问题引起的。虽然类似的问题可能在这里是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
14小时前关闭
Improve this question
我想在夸托中简单地可视化一个图,但总是得到一个我不明白的错误。当我运行qmd
文件时,我在这个块中得到一个错误:
ggplot(df, aes(x = X, y = Y)) +
geom_bin2d(binwidth = c(5, 5)) +
stat_bin2d(geom = "text", aes(label = ..count..), size = 2, binwidth = c(5, 5)) +
scale_fill_gradient("Aantal schoten", low = "yellow", high = "red") +
annotate_pitch(alpha = 0) +
direction_label(x_label = 50) +
theme_pitch() +
theme(legend.key=element_blank())
字符串
错误:
Error in `ggplot()`:
! `data` cannot be a function.
ℹ Have you misspelled the `data` argument in `ggplot()`
Backtrace:
1. ggplot2::ggplot(df, aes(x = X, y = Y))
2. ggplot2:::ggplot.function(df, aes(x = X, y = Y))
Execution halted
型
我检查了我的全局环境,没有名为data
的变量,这可能是问题所在。当我运行一个简单的类似文件时,没有像这样的错误:
---
title: "test"
---
```{r}
library(ggplot2)
library(dplyr)
iris %>%
ggplot(aes(x = Sepal.Length, y = Sepal.Width)) +
geom_point()
型
所以我不明白为什么这个错误总是发生。我也尝试在`ggplot`函数中使用`data = df`,但这不起作用。此外,当逐块运行代码时也有效。错误只在渲染文件时发生。那么有人知道为什么会发生这个错误吗?
1条答案
按热度按时间k4aesqcs1#
这可能是因为您的data.frame的实际名称不是
df
,或者您在全局环境中创建了一个df
变量,而不是在夸托环境中。注意,使用
df
作为data.frame的名称并不是一个好主意,因为df()
是R中用于F分布密度的内置函数(因此使用函数的错误)。如果代码仅在编译时出错,则您可能没有在夸托文档本身中导入数据。文档是在全新的环境中呈现的;因此全局环境中的任何数据都不可用于文档。您需要确保夸托文档是自给自足的;也就是说,确保
.qmd
文件中包含用于加载数据的read.table
或等效函数。