打印图像并将其保存在磁盘上非常简单:
fit <- lm(some ~ model)
png(filename="your/file/location/name.png")
plot(fit)
dev.off()
将一些数据写入excel电子表格
write.csv(rnorm(10),"some file",sep=",")
我的问题是如何将上述内容重定向到电子表格。另一个词,输出一个图形与一些图像/情节配对到excel工作簿?
谢谢,
答案 0 :(得分:8)
我会使用xlsx
包。查看addPicture
功能和addDataFrame
功能。我发现这个包很容易使用。
答案 1 :(得分:4)
只是添加一个关于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'))
答案 2 :(得分:1)
您可以使用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)