首页 > 解决方案 > 发布针织实验室报告 - 编码错误?

问题描述

我一直在进行一些OpenIntro 统计练习,以开始熟悉 R 和 RStudio。

我已经完成了所有的练习,我在 R Studio 中运行了我的代码,我得到了我在 RStudio 中毫无问题地生成的所有表格和图表。

然而,当需要编织数据时,我得到一个错误(我相信我不应该得到,因为我能够在 RStudio 中运行我的代码而没有任何错误并且我的表格和图表是准确生成的)。

练习 3 中的编织虫,我被告知要生成随时间推移出生的男孩的比例图。这是我的代码示例(第 53 到 58 行)

```{r plot-prop-boys-arbuthnot}
mutate (arbuthnot, boy_ratio = boys / total)

ggplot(data = arbuthnot, aes(x = year, y = boy_ratio)) + 
  geom_line()
```

但是,然后我收到一条我不明白的大错误消息。它说找不到总数。我尝试通过插入来定义总数:

total <- boys + girls

或通过插入:

total <- arbuthnot$boys + arbuthnot$girls

无论我做什么,它似乎都不起作用。例如,即使我成功定义了总数,当我需要编写实验室报告时,它也会再次出现错误并给我另一个错误。有时我会切换编写变异代码的方式。例如,我也使用了

   arbuthnot <- arbuthnot %>%
      mutate(boy_ratio = boys / total)

但是,即使我将此代码与我尝试定义总数的解决方案结合使用,它仍然不起作用。

在此处输入图像描述

我不确定此时该做什么,因为该图显示在 RStudio 中。该比率是准确的,它也显示在我生成的表格中。

变量总计在该表中。我尝试重新启动并重新运行 R 中的所有代码块。我的所有表格和图表都完美呈现,然后当我再次尝试编写我的实验室报告时,它在第 54 行出现错误。

我已经尝试解决这个问题 2 天了,但我不确定我应该怎么做。

我希望这里的社区能够给我一些关于如何解决这个问题的建议 :) !如果您需要更多信息或更多代码,请告诉我:)!

祝大家有个美好的一天!

标签: rreporttinytexlab

解决方案


为了帮助其他人帮助您,请考虑制作一个最小工作示例(MWE),例如使用reprex包。如果没有更多细节,几乎不可能确切知道什么时候出错了。

错误消息指出total环境中arbuthnot没有并且不包含 column total,因此可能后者已创建但未分配。当您以交互方式运行代码并在某个时候(使用您提供的代码)创建列或变量时,变量可能在您的环境中。但是,请注意,在编织文件时,脚本会在新环境中从头开始编译.Rmd,在这种情况下,它找不到变量并中止。

要调试您的代码,请考虑将代码块第 53-58 行替换为 print 语句,例如head(arbuthnot),以查看输出文件中的内容并确认tibble确实包含总计。

或者,通过逐块运行代码进行调试,直到在新环境中收到错误消息。在 RStudio 中,尝试Ctrl + Shift + F10(相当于 Session > Restart R)清除所有内容并重新开始。

以下代码块应该可以工作

library(openintro)
library(tidyverse) 
data(arbuthnot)

arbuthnot <- arbuthnot %>%  # note assignment (write over database)
  mutate(total = boys + girls, # define total first
         boy_ratio = boys / total) 
ggplot(data = arbuthnot, 
       mapping = aes(x = year, y = boy_ratio)) + 
  geom_line()

推荐阅读