从 apa_list(列表)格式化 table
Formatting table from apa_list(list)
我正在将 table 打印成 PDF,非常成功。标准层次回归
三个步骤。但是,我的问题是双重的:1)如何添加星号以标记协变量上的 sig p 值,以及 2)如何删除 AIC 等行。
此时,我只是用 word 打开 pdf 来编辑 table,但认为有人可能有解决方案。
H_regression <- apa_print(list(Step1 = model1,
Step2 = model2,
Step3 = model3),
boot_samples = 0)
我将使用 papaja
文档中的示例作为示例。
mod1 <- lm(Sepal.Length ~ Sepal.Width, data = iris)
mod2 <- update(mod1, formula = . ~ . + Petal.Length)
mod3 <- update(mod2, formula = . ~ . + Petal.Width)
moi <- list(Baseline = mod1, Length = mod2, Both = mod3)
h_reg <- apa_print(moi, boot_samples = 0)
h_reg_table <- h_reg$table
2) 如何删除像 AIC
这样的行
apa_print()
返回的 table 是带有一些附加信息的 data.frame
。因此,您可以像对任何其他 table 一样对其进行索引和子集化。您可以按名称(见下文)或行号 select 行。
# Remove rows
rows_to_remove <- c("$\mathrm{AIC}$", "$\mathrm{BIC}$")
h_reg_table <- h_reg_table[!rownames(h_reg_table) %in% rows_to_remove, ]
1) 如何添加星号以标记协变量的 sig p 值
目前没有办法突出重要的预测因素(我不喜欢这种做法)。但是这里有一些代码可以让您在事后添加突出显示。以下函数采用格式化 table、比较模型列表和字符符号作为输入以突出显着预测变量。
# Define custom function
highlight_sig_predictors <- function(x, models, symbol) {
n_coefs <- sapply(models, function(y) length(coef(y)))
for(i in seq_along(models)) {
sig_stars <- rep(FALSE, max(n_coefs))
sig_stars[1:n_coefs[i]] <- apply(confint(models[[i]]), 1, function(y) all(y > 0) || all(y < 0))
x[1:max(n_coefs), i] <- paste0(x[1:max(n_coefs), i], ifelse(sig_stars, symbol, paste0("\phantom{", symbol, "}")))
}
x
}
现在可以使用此函数自定义 apa_print()
返回的 table。
# Add significance symbols to predictors
h_reg_table <- highlight_sig_predictors(h_reg_table, moi, symbol = "*")
# Print table
apa_table(h_reg_table, escape = FALSE, align = c("lrrr"))
我正在将 table 打印成 PDF,非常成功。标准层次回归 三个步骤。但是,我的问题是双重的:1)如何添加星号以标记协变量上的 sig p 值,以及 2)如何删除 AIC 等行。 此时,我只是用 word 打开 pdf 来编辑 table,但认为有人可能有解决方案。
H_regression <- apa_print(list(Step1 = model1,
Step2 = model2,
Step3 = model3),
boot_samples = 0)
我将使用 papaja
文档中的示例作为示例。
mod1 <- lm(Sepal.Length ~ Sepal.Width, data = iris)
mod2 <- update(mod1, formula = . ~ . + Petal.Length)
mod3 <- update(mod2, formula = . ~ . + Petal.Width)
moi <- list(Baseline = mod1, Length = mod2, Both = mod3)
h_reg <- apa_print(moi, boot_samples = 0)
h_reg_table <- h_reg$table
2) 如何删除像 AIC
这样的行apa_print()
返回的 table 是带有一些附加信息的 data.frame
。因此,您可以像对任何其他 table 一样对其进行索引和子集化。您可以按名称(见下文)或行号 select 行。
# Remove rows
rows_to_remove <- c("$\mathrm{AIC}$", "$\mathrm{BIC}$")
h_reg_table <- h_reg_table[!rownames(h_reg_table) %in% rows_to_remove, ]
1) 如何添加星号以标记协变量的 sig p 值
目前没有办法突出重要的预测因素(我不喜欢这种做法)。但是这里有一些代码可以让您在事后添加突出显示。以下函数采用格式化 table、比较模型列表和字符符号作为输入以突出显着预测变量。
# Define custom function
highlight_sig_predictors <- function(x, models, symbol) {
n_coefs <- sapply(models, function(y) length(coef(y)))
for(i in seq_along(models)) {
sig_stars <- rep(FALSE, max(n_coefs))
sig_stars[1:n_coefs[i]] <- apply(confint(models[[i]]), 1, function(y) all(y > 0) || all(y < 0))
x[1:max(n_coefs), i] <- paste0(x[1:max(n_coefs), i], ifelse(sig_stars, symbol, paste0("\phantom{", symbol, "}")))
}
x
}
现在可以使用此函数自定义 apa_print()
返回的 table。
# Add significance symbols to predictors
h_reg_table <- highlight_sig_predictors(h_reg_table, moi, symbol = "*")
# Print table
apa_table(h_reg_table, escape = FALSE, align = c("lrrr"))