如何使用openxlsx将字符向量横向跨列写入Excel?
解决openxlsx写入向量横向排列的问题
默认情况下,openxlsx的writeData函数会将向量按列方向写入Excel,因为R中的向量默认被识别为单列数据。要实现横向跨列排列,只需将向量转换为行格式的输入,以下是两种可行方法:
方法一:转置向量为行矩阵
通过t()函数将向量转置为一行多列的矩阵,writeData会按矩阵的行结构写入Excel:
library(openxlsx) vec <- c("A", "B", "C", "D") wb <- createWorkbook() addWorksheet(wb, "Sheet1") writeData(wb, 1, t(vec), startCol = 1, startRow = 1, colNames = FALSE) saveWorkbook(wb, "test1.xlsx", overwrite = TRUE)
方法二:将向量转为单行数据框
把向量包装成单行的数据框,同样能让writeData按行写入:
library(openxlsx) vec <- c("A", "B", "C", "D") wb <- createWorkbook() addWorksheet(wb, "Sheet1") writeData(wb, 1, data.frame(t(vec)), startCol = 1, startRow = 1, colNames = FALSE) saveWorkbook(wb, "test1.xlsx", overwrite = TRUE)
为什么拼接字符串无效?
拼接字符串只会把所有内容合并成单个单元格的文本,无法将数据分散到多个列中,因此达不到横向跨列的效果。
内容的提问来源于stack exchange,提问作者DewBudd
相关产品推荐
相关产品推荐

