如何在不更改数字格式的情况下将数据从R导出到Excel?
我的数据集由百分比数字组成,但被格式化为十进制数字:
例如:67%
打印为0.67
。
是否有代码将数字粘贴到源文件中?
答案 0 :(得分:0)
您的数据可能是键入字符?
无论如何,请尝试使用openxlsx库格式化Excel工作表。这是一个简单的示例:
library(openxlsx)
df <- data.frame(pct1 = c(0.07, 0.22), pct2 = c(0.07, 0.22))
#header style
hs <- createStyle(textDecoration = "bold", wrapText = FALSE, halign = "center", valign = "center")
#style
s1 <- createStyle(numFmt = "0.0%") #1 decimal place
s2 <- createStyle(numFmt = "PERCENTAGE") #2 decimal places (default)
wb <- createWorkbook("")
addWorksheet(wb, "test")
writeData(wb, 1, df, startCol = 1, startRow = 1, headerStyle = hs)
#autosize imena emailov
setColWidths(wb, sheet = 1, cols = 6:8, widths = "auto")
addStyle(wb, 1, style = s1, rows = 2:(nrow(df)+1), cols = 1, gridExpand = FALSE)
addStyle(wb, 1, style = s2, rows = 2:(nrow(df)+1), cols = 2, gridExpand = FALSE)
saveWorkbook(wb, paste0("test.xlsx"), overwrite = TRUE)
答案 1 :(得分:-1)
好吧,这取决于数据框中列的类型。 “ dplyr :: write_csv”应该可以完成工作,但是请注意,您必须将列转换为类型字符,以使结构保持在excel