簡體   English   中英

將圖像和數據從 R 導出到 Excel 電子表格

[英]Export both Image and Data from R to an Excel spreadsheet

打印圖像並將其保存在磁盤上很簡單:

fit <- lm(some ~ model)

png(filename="your/file/location/name.png")
plot(fit)
dev.off()

將一些數據寫入excel電子表格

write.csv(rnorm(10),"some file",sep=",")

我的問題是如何將上述內容重定向到電子表格中。 換句話說,將與一些圖像/繪圖配對的圖形輸出到 Excel 工作簿?

謝謝,

我會使用xlsx包。 查看addPicture函數和addDataFrame函數。 我發現這個包很容易使用。

您可以使用insertImage函數並使用openxlsx包執行相同的操作。

我從上面復制了這個例子,但是使用了 openxlsx 包:

# Setup
x <- c('tidyverse', 'openxlsx')
sapply(X=x, FUN = require, character.only = TRUE)

# Create graph---------
dcs <- ggplot(mtcars) +
  geom_point(aes(cyl, disp))

# Export Pic -----------
pic_path <- "C:/home/dcs.jpeg"
png(filename = pic_path)
plot(dcs)
dev.off()

# Add to a new work book -------------
wb <- openxlsx::createWorkbook()
addWorksheet(wb, "Plots")
insertImage(wb, "Plots", pic_path)
openxlsx::saveWorkbook(wb,
                       "~/example.xlsx")

# Kill pic
unlink(pic_path)

只是添加一個關於 xlsx 包的示例,據我所知,它要求您首先保存圖片,然后將其導入 xlsx 文件,請參閱下面的導出到現有書籍的可重現示例:

# Setup
x <- c('tidyverse', 'rJava', 'xlsxjars', 'xlsx')
sapply(X=x, FUN = require, character.only = TRUE)

# Create graph---------
dcs <- ggplot(mtcars) +
  geom_point(aes(cyl, disp))

# Export Pic -----------
pic_path <- "C:/home/dcs.jpeg"
png(filename = pic_path)
plot(dcs)
dev.off()

# Add to existing book -------------
xl_path <- "C:/home/a.xlsx"

wb <- loadWorkbook(xl_path)

ws <- getSheets(wb)["Summary"][[1]]

addPicture(file = pic_path, sheet = ws)

saveWorkbook(wb, xl_path)

# Kill pic
unlink(pic_path)

#Then write some data
write.xlsx(as.data.frame(output), xl_path, sheetName = 'data'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM