在R中将相关矩阵的HTML输出转换为PDF或XLSX文件的方法
将sjPlot生成的相关矩阵导出为XLSX或PDF格式
导出为XLSX格式
直接提取数据导出(推荐)
- 运行
tab_corr时保存结果对象,从中提取相关系数和p值的原始数据:
library(sjPlot) library(writexl) data(mtcars) # 保存相关分析结果 corr_result <- tab_corr(mtcars, corr.method="spearman", na.deletion="pairwise", p.numeric =TRUE) # 提取相关系数矩阵与p值矩阵 corr_matrix <- corr_result$corr p_matrix <- corr_result$p # 合并为便于导出的数据框 combined_df <- cbind(corr_matrix, p_matrix) colnames(combined_df) <- c(paste0("corr_", colnames(corr_matrix)), paste0("p_", colnames(p_matrix))) # 导出为XLSX文件 write_xlsx(combined_df, "correlation_matrix.xlsx")
解析已生成的HTML文件导出
- 若已有生成好的HTML文件,用
rvest解析表格后导出:
library(rvest) library(writexl) # 读取HTML文件 html_content <- read_html("your_corr_table.html") # 提取表格数据 corr_table <- html_table(html_content)[[1]] # 导出为XLSX write_xlsx(corr_table, "correlation_matrix.xlsx")
导出为PDF格式
方法1:直接用sjPlot内置导出
- 生成相关矩阵后,直接调用
save_table导出为PDF:
# 在生成corr_result后执行 save_table(corr_result, file = "correlation_matrix.pdf")
方法2:从HTML文件转换
- 使用
webshot2将已生成的HTML文件转为PDF:
library(webshot2) # 首次使用需安装PhantomJS依赖 # webshot2::install_phantomjs() # 转换HTML到PDF webshot("your_corr_table.html", "correlation_matrix.pdf")
内容的提问来源于stack exchange,提问作者Afia A
相关产品推荐
相关产品推荐

