Есть ли проблема с моим кодом plot (), не позволяющим ему вязать?

#r #r-markdown

Вопрос:

Вот образец моего набора данных (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.координатах(x,y,xlabel,ylabel,log): «x» представляет собой список, но не содержит вызовов компонентов » x » и «y»: … С видимым -gt; eval -gt;gt; eval -gt;gt;gt; график — gt; gt; gt; график.по умолчанию — gt; gt; gt; gt; gt; Выполнение xy.координат остановлено

Комментарии:

1. Основная проблема заключается в том, что plot.nls метода нет, а lmod есть объект класса "nls" . Вторичная проблема может заключаться в том, что dinodat она недоступна в этом фрагменте кода: помните, что документы RMarkdown начинаются с чистого листа, и вам нужно прочитать/создать каждую переменную, которую вы используете.

2. Хорошо, спасибо. Я не уверен, как исправить отсутствие метода plot.nls.

3. Что вы замышляли, когда этого не было в документе? Просто нарисуйте это.

4. «отсутствие метода plot.nls» означает, что plot(lmod) он не работает в чистом R за пределами knitr. Проблема в вашем R-коде.

5. Извините, я не понимаю, что вы имеете в виду.

Ответ №1:

Это уценка для вас (вяжите в .pdf).

Я сделал сюжет с использованием библиотеки ggplot2. Вам определенно следует изучить этот пакет; у вас будет больше возможностей, и графики, сделанные с его помощью, будут выглядеть действительно круче.

Также я использовал гибкую библиотеку для вывода данных.фрейм в хорошей таблице (данные записываются случайным образом).

 --- title: "Dinos are forever" output:  pdf_document: default ---  ## R Markdown  ```{r setup, include = FALSE} library(ggplot2) library(flextable)  Age lt;-c(0.5, 0.5, 0.5, 1, 1, 2, 2, 3, 6, 4, 3, 1, 10) Mass lt;-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 lt;- data.frame(Age, Mass) lmod = nls(Mass ~ a   b*Age, data = dinodat, start = list(a = 1, b = 0.25)) Dinos lt;- flextable(dinodat)  Dinos_plot lt;- 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 ```  

и сюжет:

введите описание изображения здесь