#r #r-markdown #papaja
#r #r-markdown #папайя
Вопрос:
Я работаю в RMarkdown и пытаюсь добиться того, чтобы значимые эффекты в моей таблице Anova выделялись жирным шрифтом в окончательном документе pdf. В этом случае строка, которая должна быть выделена жирным шрифтом, является второй строкой таблицы (с именами столбцов, являющимися первой строкой).
Использование пакета papaja: ссылка на GitHub
Вот как я провел Anova
library(apaTables)
library(MOTE)
data("iris")
ManCheck2.1 <- aov(formula = Sepal.Length ~ Sepal.Width * Petal.Length, data = iris)
ManCheck2.1APA <- apa_print(ManCheck2.1)
Это то, что я сделал, чтобы подготовить подробную таблицу
M2 <- apa.aov.table(ManCheck2.1, conf.level = .95)
M2table <- M2$table_body
# Delete the "(Intercept)" line:
M2table <- M2table[-1, ]
# Swap the p-values with the formatted version from our apa_print() object IMPORTANT
M2table[2,6] <- as.character(ManCheck2.1APA$table$p[2])
M2table[1,6] <- as.character(ManCheck2.1APA$table$p[1])
M2table[3,6] <- as.character(ManCheck2.1APA$table$p[3])
# Rename the rows
M2table[ ,1] <- c("Company Motive", "CSR", "Company Motive * CSR", "Error")
colnames(M2table) <- c("Predictor", "$SS$", "$df$", "$MS$", "$F$", "$p$",
"$\eta^{2}_{partial}$", "$\eta^{2}_{partial}$ 95\% CI")
И это фрагмент кода, который показывает таблицу в моем связанном документе.
apa_table(M2table, caption = "Effects of self- (versus other-oriented motive) and high CSR (versus neutral CSR) on perceived company motive", note = "Significant effects are bold", align = c("l", "r", "r", "r", "r", "r", "r", "c"), escape = F, row.names = F, # after manipulating the data frame, apa_table() started to show # the row numbers, so we had to choose "rownames = F" placement= "h")
Комментарии:
1. можете ли вы добавить примеры данных, чтобы мы могли помочь вам достичь желаемого результата?
2. Извините за это! Я добавил образцы данных, а также 2 пакета, которые, по моему мнению, были необходимы.
3. вы хотите выделить полную строку или только имя
Ответ №1:
Если вы хотите добавить только имена предикторов, этого будет достаточно:
M2table <- M2$table_body
M2table[ ,1] <- c("", "Company Motive", "CSR", "Company Motive * CSR", "Error")
cond <- M2table$p != "" amp; as.numeric(M2table$p)<.01
M2table[cond,1] <- paste0("\textbf{",M2table[cond,1] ,"}")
M2table <- M2table[-1, ]
# Rename the rows
# Swap the p-values with the formatted version from our apa_print() object IMPORTANT
m2table[1:3, 6] <- ManCheck2.1APA$table$p
colnames(M2table) <- c("Predictor", "$SS$", "$df$", "$MS$", "$F$", "$p$",
"$\eta^{2}_{partial}$", "$\eta^{2}_{partial}$ 95\% CI")