将数据从R导出到excel

将数据从R导出到excel,r,excel,R,Excel,如何在不更改数字格式的情况下将数据从R导出到Excel 我的数据集由百分比数字组成,但格式为十进制数字: 例如:67%打印为0.67 有没有代码可以像在我的源文件中那样粘贴数字?嗯,这取决于数据框中的列的类型。“dplyr::write_csv”应该可以完成这项工作,但请注意,您必须将列转换为类型字符,以便将结构保留在excel中 您的数据可能是字符类型 无论如何,请尝试使用openxlsx库格式化excel工作表。下面是一个简单的例子: library(openxlsx) df <-

如何在不更改数字格式的情况下将数据从R导出到Excel

我的数据集由百分比数字组成,但格式为十进制数字:
例如:
67%
打印为
0.67


有没有代码可以像在我的源文件中那样粘贴数字?

嗯,这取决于数据框中的列的类型。“dplyr::write_csv”应该可以完成这项工作,但请注意,您必须将列转换为类型字符,以便将结构保留在excel中


您的数据可能是字符类型

无论如何,请尝试使用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) 
库(openxlsx)
df