为了简化制作论文表格的工作,他自己创建了一个函数!

学术   科学   2024-04-19 10:45   浙江  
做研究或者写论文时,常会被一些琐碎的事情拖慢进度。

R包{rempsyc}的作者也是深受其累,所以他开发了一个直接输出符合学术论文规范(APA Style 7th Edition)表格的函数,尽可能简化统计分析后的制表过程!

相信很多读者朋友们也会需要~

首先安装并载入需要的R包:

install.packages("rempsyc")
library(rempsyc)

# 下方为载入代码,如果没安装过:install.packages("broom")
library(broom)
将用到R自带mtcars数据集,简化并处理一下数据:

mydata <- cbind(rownames(mtcars[1:6,]), mtcars[1:6,]) # 提取原数据前6行的行名称作为新的变量,并与原数据前6行拼接
colnames(mydata)[1] <- "Car_names"
# 修改第一列的名称

mydata

上述代码中,提取了mtcars中的前六行,将原来的行名称转换为新变量Car_names,与原来的数据拼接在一起。

小试牛刀,直接将mydata作为表格输出:

my_table <- nice_table(mydata,
                        title = "Table1. Motor Trend Car Road Tests",
                        note = c("Henderson and Velleman (1981), Building multiple regression models interactively. Biometrics, 37, 391–411."))

my_table

符合APA规范的表格就做好了!nice_table()能将data frame转化成表格,需要注意不能有重复的列名。

想复制到word也可以这么做:

print(my_table, preview = "docx")
真的超方便!

如果想直接导出word文件到自己的工作路径。需要使用{flextable}中的函数:flextable::save_as_docx(my_table, path = "Table1.docx"){flextable}的介绍可以看往期:跪了!R居然可以自动输出统计结果并形成论文表格?!

假设想将统计分析的结果制作表格,也没问题。

先以t检验为例,可以

t_test <- nice_t_test(mydata,
            response = c("mpg", "hp", "wt"),
            group = "vs") # 默认为 Welch t-test

t_test

上述代码中使用{rempsyc}里的nice_t_test()输出的结果已经比较简洁了,可以直接将其做表:

my_table1 <- nice_table(t_test)
my_table1

也可以使用之前的代码转成word,指定对象为my_table1即可,完整代码为:print(my_table1, preview = "docx")

如果拟合了线性回归模型,将其结果制作表格,也可以实现。

这次使用R自带的iris数据集,大致查看一下数据:

summary(iris)

再来拟合一个线性回归模型:

mymodel <- lm(Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width + Species, iris)

summary(mymodel)

这时候请出nice_table()

nice_table(tidy(mymodel), broom = "lm")

上述代码中,tidy()R包{broom}中的函数,它将原来的统计模型mymodel转化成更整洁的结果,为tibble格式(与data frame类似),再通过nice_table()将其变成表格。

不知道这些好用R包之前,小编们都是手动将模型结果逐一“复制粘贴”到表格里,真的很容易出错。一把辛酸泪

还可以对表格进行一些小修饰:

my_table2 <- nice_table(tidy(mymodel),
           broom = "lm",
           highlight = 0.01,
           stars =
TRUE, # 是否显示*
           title = "Iris Dataset",
           note = "* p < .05, ** p < .01, *** p < .001")

my_table2

上述代码中,对表格的样式进行了一些修改,比如添加了高亮部分,增加表格题目和注释,是否显示*。如果想快速复制表格到word,指定对象为my_table2即可,代码为:print(my_table2, preview = "docx")

想深入了解,可以看下方参考文献哦~

好啦,今天的内容就到这里。如果有帮助,记得分享给需要的人


参考文献

[1]. Thériault, R. (2023). rempsyc: Convenience functions for psychology. Journal of Open Source Software, 8(87), 5466. https://doi.org/10.21105/joss.05466

公众号的线上课程
1. 《R语言和统计新手课程》
2. 《回归:从入门到进阶》
【通过公众号菜单栏--线上课程--新手课程/回归课程】

统计咨询
《服务介绍和经典合作案例》

公众号核心成员的成果发表
《SCI医学1区影响因子9分论文》

公众号核心成员担任SCI杂志Associate Editor!
《JAD杂志Associate editor》
《Frontiers in Neuroscience, Frontiers in Neurology and Frontiers in Psychiatry杂志的神经退行性病变板块》

▌本文由R语言和统计首发
▌课程相关咨询可添加R师妹微信: kefu_rstats
▌编辑:June
▌邮箱:contact@rstats.cn
▌网站:www.rstats.cn
我们致力于让R语言和统计变得简单!




R语言和统计
我们定期更新与R有关的内容,比如R编程基础,作图,实用R包的解读,统计学基础知识,前沿的统计方法,机器学习等等。
 最新文章