【问题标题】:Is there a problem with my plot() code keeping it from knitting?我的 plot() 代码阻止它编织有问题吗?
【发布时间】:2021-12-12 13:03:08
【问题描述】:

这是我的数据集示例(dinodat):

Age Mass
0.5 0.1072476
0.5 0.1072476
0.5 0.0972
0.5 0.0972
1   0.1414944
1   0.1414944
2   0.9437184
2   0.6666948
3   2.21085
3   1.8432
4   3.6
4   3.7090836
5   6.0665724
5   5.1944292
6   9.4610592
6   8.4694932
7   8.85735
7   8.85735
8   16.17165
8   15.8793984
9   18.3184128
9   24.3045684
10  29.2341636
11  29.6726688

波纹管代码运行良好,直到我尝试编织它:

```{r}
lmod = nls(Mass ~ a + b*Age, data = dinodat, start = list(a = 1, b = 0.25))
summary(lmod)
plot(lmod)
confint(lmod)
```

这是第 15 行的错误,即以“lmod =...”开头的行:

xy.coords(x,y,xlabel,ylabel,log) 中的错误:“x”是一个列表,但确实如此 没有组件 'x' 和 'y' 调用:... withVisible -> eval -> eval -> plot -> plot.default -> xy.coords 执行停止

【问题讨论】:

  • 主要问题是没有plot.nls方法,而lmod"nls"类的对象。第二个问题可能是 dinodat 在此代码块中不可用:请记住,RMarkdown 文档从空白开始,您需要读取/创建您使用的每个变量。
  • 好的,谢谢。我不确定如何解决没有 plot.nls 方法的问题。
  • 当它不在文档中时,您在绘制什么?只是绘制它。
  • “没有 plot.nls 方法”意味着plot(lmod) 在 knitr 之外的纯 R 中不起作用。问题是你的 R 代码。
  • 对不起,我不明白你的意思。

标签: r r-markdown


【解决方案1】:

这是为您准备的降价代码(编织为 .pdf)。

我使用 ggplot2 库制作了一个情节。 你绝对应该研究这个包;你会有更多的可能性,用它制作的图表看起来真的很酷。

我还使用 flextable 库在漂亮的表中输出 data.frame(数据是随机写入的)。

---
title: "Dinos are forever"
output:
  pdf_document: default
---

## R Markdown

```{r setup, include = FALSE}
library(ggplot2)
library(flextable)

Age <-c(0.5, 0.5, 0.5, 1, 1, 2, 2, 3, 6, 4, 3, 1, 10)
Mass <-c(0.1072476, 0.1072476, 0.0972, 0.0972, 0.1414944, 1.8432, 3.7090836, 3.7090836, 9.4610592, 9.4610592, 8.4694932, 8.4694932, 24.3045684)
dinodat <- data.frame(Age, Mass)
lmod = nls(Mass ~ a + b*Age, data = dinodat, start = list(a = 1, b = 0.25))
Dinos <- flextable(dinodat)

Dinos_plot <- ggplot(dinodat, aes(x = Age, y = Mass)) + 
              geom_point() +
              geom_smooth(method = "nls",
              method.args = list(formula = y ~ a + b*x,
                       start = list(a = 1, b = 0.25)),
              se = F,
              colour = "green3")

```

A dataset `r Dinos`

\newpage
```{r}
summary(lmod)
confint(lmod)
```

\newpage
A dinos_plot
```{r pressure, echo=FALSE}
Dinos_plot
```

情节

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多