Ошибка Knitr при загрузке встроенных данных - PullRequest
0 голосов
/ 29 апреля 2018

Я пытаюсь запустить код в R, используя компилятор knitr. Он почему-то генерирует эту ошибку:

Error in str(Oats) : object 'Oats' not found
Calls: <Anonymous> ... withCallingHandlers -> withVisible -> eval -> eval -> str
Execution halted

Вот код, который я использую:

```{r}
data(Oats)
str(Oats)
plot(Oats)
sp.oats <- within(Oats, nitroF <- factor(nitro))
model1=lm(yield~Variety*nitro,data=Oats)
summary(model1)
model2=lme(yield~Variety*nitro,data=Oats,random=~1|Block/Variety/nitro)
summary(model2)
coef(model1)
coef(model2)
plot(ranef(model2))
plot(model2)
```

Пожалуйста, предложите, что я должен сделать, чтобы решить эту проблему. Спасибо!

Ответы [ 2 ]

0 голосов
/ 29 апреля 2018

Я думаю, что вы ищете

data(Oats,package="nlme")

Кавычки не обязательны для имени набора данных (Oats, "Oats"), но обязательны для имени пакета ("nlme").

Но

library(nlme)
data(Oats)

также будет работать, и, так как вы все равно будете использовать функции из nlme, вы могли бы также сделать это таким образом.

0 голосов
/ 29 апреля 2018

Добавление комментария в качестве ответа. Я подумал, что это может быть дубликат (и я до сих пор подозреваю, что это может быть, но я не смог найти его в поиске, так что, возможно, он будет полезен при последующих поисках .:

Он находится в пакете nlme, который по умолчанию не загружается, но поставляется с каждой копией R, поскольку его приоритет «рекомендуется». @MAPK должен добавить строку, которая говорит data(Oats, pac=nlme), прежде чем он попытается получить к ней доступ, и hpesoj626 должен попробовать это на своей консоли. Конечно, это может привести к другой ошибке, поскольку там может отсутствовать функция lme. Поэтому я думаю, что окончательное решение может быть

```{r}
 library(nlme)
 data(Oats)` 
 ....

в качестве отправной точки (внутри вязаной секции).

...