使用R语言write.csv()导出CSV报错:行数不一致问题求解
解决write.csv写入多行数据框列表的报错
报错原因
write.csv() 仅支持直接写入单个数据框,无法处理包含两个行数不一致数据框的列表,因此触发了行数量不匹配的错误。
解决方案
方案1:分别写入独立CSV文件
把两个数据框分开保存为不同的文件,保留各自的结构:# 保存显著结果 write.csv(res_basic$cesig, "ceRNA_basic_result_sig.csv", row.names = TRUE) # 保存不显著结果 write.csv(res_basic$cenotsig, "ceRNA_basic_result_nonsig.csv", row.names = TRUE)方案2:合并为单个数据框后写入
给两个数据框添加分组标记,合并后存入同一个文件,方便后续统一查看:# 为两个数据框添加分组列 res_basic$cesig$group <- "significant" res_basic$cenotsig$group <- "non-significant" # 合并数据框 combined_df <- rbind(res_basic$cesig, res_basic$cenotsig) # 写入合并后的文件 write.csv(combined_df, "ceRNA_basic_result_combined.csv", row.names = TRUE)方案3:写入Excel的不同工作表
如果想把两个数据框放在同一个文件但保留独立结构,可以用openxlsx包实现:# 安装并加载包 install.packages("openxlsx") library(openxlsx) # 创建工作簿并添加工作表 wb <- createWorkbook() addWorksheet(wb, "significant") writeData(wb, "significant", res_basic$cesig, rowNames = TRUE) addWorksheet(wb, "non-significant") writeData(wb, "non-significant", res_basic$cenotsig, rowNames = TRUE) # 保存Excel文件 saveWorkbook(wb, "ceRNA_basic_result.xlsx", overwrite = TRUE)
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

