R语言使用openxlsx包write.xlsx导出Excel仅显示1条数据如何解决
问题原因
scale()函数执行标准化后返回的是带缩放参数属性的矩阵类型,openxlsx包的write.xlsx对带特殊属性的矩阵兼容性不足,解析时会发生内容截断,仅导出第一行数据。- 小概率场景下如果原始数据
DATA2存在异常空值、非结构化格式,也可能触发导出截断,但结合你给出的代码判断,类型兼容问题是核心诱因。
解决方法
将标准化后的矩阵转换为数据框类型后再执行导出即可,修改后的参考代码如下:
library(openxlsx) # 标准化后转为数据框格式 data <- as.data.frame(scale(DATA2)) # 导出时可通过rowNames参数控制是否保留原始行号 write.xlsx(data, "output2.xlsx", rowNames = FALSE)
如果修改后仍存在导出异常,可先在R控制台执行dim(data)查看标准化后的数据维度是否为34行4列,排除数据预处理阶段的异常问题。
内容的提问来源于stack exchange,提问作者Bagoes Heikhal
相关产品推荐
相关产品推荐

