如何从R输出为APA样式表?

yxyvkwin  于 2023-04-03  发布在  其他
关注(0)|答案(4)|浏览(121)

为了在我的共享字处理文档中包含表格(我被MS Word卡住了),我目前必须在Word文档本身中重新创建它们。
有没有一种相对“简单”的方法(例如,不需要学习LaTeX)将我的数据从R输出到一个APA风格的格式化表格(例如,作为PDF),我可以插入?
谢谢!

carvr3hs

carvr3hs1#

您可以使用write.table将其发送到剪贴板,然后将文本复制到Word中。您需要记住设置sep="\t"col.names=NA例如:

write.table(xtabs(hp~cyl+am,mtcars),"clipboard",sep="\t",col.names=NA)

在Word中,突出显示复制的文本,然后单击Insert Table...,现在您应该在一个表格中拥有所有数据。您可以应用表格样式来美化它,并创建自己的阿帕一个来获得您喜欢的一切。
文本字符串(尤其是行和列标题)周围可能会有引号,因此您可能需要做一些工作来删除它们。

xlpyo6sf

xlpyo6sf2#

到2022年,可以使用rempsyc包将R Dataframe 导出为APA格式的Word表格(Times New Roman大小为12,只有一些水平行,双倍行距,正确的小数位数,95%置信区间,特殊字符等)。

Reprex

您可以指定表格标题和脚注:

library(rempsyc)
#> Tutorials: https://remi-theriault.com/tutorials
#> Bug report, support, special request: https://github.com/rempsyc/rempsyc/issues
#> 
#> Suggested APA citation: Thériault, R. (2022). rempsyc: Convenience functions for psychology (R package version 0.0.5.5) [Computer software]. https://rempsyc.remi-theriault.com
nice_table(mtcars[1:3, ], 
           title = c("Table 1", "Motor Trend Car Road Tests"),
           footnote = c("The data was extracted from the 1974 Motor Trend US magazine.",
                        "* p < .05, ** p < .01, *** p < .001"))

您可以将其应用于自己制作的统计表,或broomreport包,并将应用正确的格式。

nice_t_test(data = mtcars,
            response = c("mpg", "disp", "drat"),
            group = "am",
            warning = FALSE) -> stats.table
stats.table
#>   Dependent Variable         t       df            p         d   CI_lower
#> 1                mpg -3.767123 18.33225 1.373638e-03 -1.477947 -2.2659731
#> 2               disp  4.197727 29.25845 2.300413e-04  1.445221  0.6417834
#> 3               drat -5.646088 27.19780 5.266742e-06 -2.003084 -2.8592770
#>     CI_upper
#> 1 -0.6705686
#> 2  2.2295592
#> 3 -1.1245498
nice_table(stats.table)

library(report)
model <- lm(mpg ~ cyl + wt * hp, mtcars)
(stats.table <- as.data.frame(report(model)))
#> Parameter   | Coefficient |          95% CI | t(27) |      p | Std. Coef. | Std. Coef. 95% CI |    Fit
#> ------------------------------------------------------------------------------------------------------
#> (Intercept) |       49.49 | [ 41.97, 57.01] | 13.51 | < .001 |      -0.18 |    [-0.36, -0.01] |       
#> cyl         |       -0.37 | [ -1.41,  0.68] | -0.72 | 0.479  |      -0.11 |    [-0.42,  0.20] |       
#> wt          |       -7.63 | [-10.75, -4.51] | -5.01 | < .001 |      -0.62 |    [-0.85, -0.40] |       
#> hp          |       -0.11 | [ -0.17, -0.05] | -3.64 | 0.001  |      -0.29 |    [-0.53, -0.04] |       
#> wt * hp     |        0.03 | [  0.01,  0.04] |  3.23 | 0.003  |       0.29 |    [ 0.11,  0.47] |       
#>             |             |                 |       |        |            |                   |       
#> AIC         |             |                 |       |        |            |                   | 147.01
#> BIC         |             |                 |       |        |            |                   | 155.80
#> R2          |             |                 |       |        |            |                   |   0.89
#> R2 (adj.)   |             |                 |       |        |            |                   |   0.87
#> Sigma       |             |                 |       |        |            |                   |   2.17

要保存到Word,只需用途:

flextable::save_as_docx(stats.table, path = "D:/R treasures/nice_tablehere.docx")

reprex package(v2.0.1)于2022-08-03创建

教程

完整的教程可在这里:https://rempsyc.remi-theriault.com/articles/table.html

安装

编辑:软件包现在在CRAN上:

install.packages("rempsyc")

**免责声明:**如果从软件包的名称上看不清楚,我是这个软件包的作者:-)

pgx2nnw8

pgx2nnw83#

我有一个类似的问题,发现包schoRsch是有帮助的。你仍然需要复制和粘贴输出到Word,但这个包将格式化你的数据,并有一个 Package 功能的复制/粘贴步骤。此外,如果你正在做方差分析(如我在这种情况下),你必须使用ez包来做实际的分析。

ssgvzors

ssgvzors4#

使用clipr包:

install.packages("clipr")
clipr::write_clip(mtcars)

相关问题