r объект не напечатан в тексте
Некоторые объекты R, которые печатаются в Rmarkdown без проблем, но не печатаются с использованием шаблона папайи. Он не генерирует никаких сообщений об ошибках. Например, допустим, я написал файл уценки, как показано ниже:
```{r setup, include = FALSE}
knitr::opts_chunk$set(include = FALSE)
```
```{r}
library("pacman")
p_load(plyr, dplyr, ggplot2, lmSupport, lme4, psycho, psych,
GPArotation, tidyverse, tinytex, afex, foreign,purrr, lavaan, citr,
papaja)
options(scipen = 0, digits = 3)
DF <- data.frame(id = paste0("ID.", 1:200),
x = sample(c("control", "treat"), 200, replace = TRUE),
y = rnorm(200))
m <- lm(y ~x, data= DF)
summary(m)
s1<-apa_print.lm(m)
s1$statistic[2]
```
# Result
I fitted a linear regression model in which condition (control vs.
treat) predicts scores. Treat group showed significantly higher scores
compared to control group, `r s1$estimate[2]`, `r s1$statistic[2]`.
1 ответ
Хороший вопрос. Это не намеренное поведение в papaja
и будет исправлено в ближайшее время в версии для разработчиков. Проблема в том, что встроенный хук неправильно обрабатывает списки. Если вы выберете элемент списка таким образом, чтобы выходной объект был вектором, он также должен работать в текущей версии.
Вы могли бы использовать, s1$estimate[2][1]
как вы нашли, или s1$estimate[[2]]
но лично я бы предпочел индексацию по имени через s1$estimate[["xtreat"]]
или же s1$estimate$xtreat
,
Кроме того, если вы хотите сообщить оценки и проверить статистику, вы можете использовать full_result
-элемент.
Поэтому для вашего примера я бы предложил:
```{r setup, include = FALSE}
library("papaja")
```
```{r}
DF <- data.frame(id = paste0("ID.", 1:200),
x = sample(c("control", "treat"), 200, replace = TRUE),
y = rnorm(200))
m <- lm(y ~ x, data = DF)
s1 <- apa_print.lm(m)
```
# Result
I fitted a linear regression model in which condition (control vs.
treat) predicts scores. Treat group showed significantly higher scores
compared to control group, `r s1$full_result$xtreat`.