日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

R語言中寫入Excel的不同sheet表格

 育種數(shù)據(jù)分析 2021-11-18

「灌水系列」

?

這是一個朋友提的問題,R語言中有多個數(shù)據(jù)框,本來是一個數(shù)據(jù)框?qū)懭胍粋€Excel表。但是現(xiàn)在想要寫入到一個Excel表中,畢竟Excel才是最通用的軟件,把每個數(shù)據(jù)框?qū)懭隕xcel不同的sheet表。

?

問題解決

「代碼演示」代碼解釋:

  • 首先建立兩個數(shù)據(jù)框aabb
  • 然后載入openxlsx軟件包,主要是用于導出Excel格式
  • 重點是建立一個list,每個元素就是一個sheet,名稱就是sheet的名稱
  • 然后使用write.xlsx函數(shù)輸出list對象即可

aa<-data.frame(id = 1:5,y = rnorm(5))
bb<-data.frame(id = 1:7,y = rnorm(7))
aa
bb

# install.packages("openxlsx") # 如果沒有openxlsx包,運行該命令
library(openxlsx)
sheets = list("我是aa" = aa,"我是bb" = bb)
write.xlsx(sheets,"d:/我是輸出結(jié)果.xlsx")

「結(jié)果展示:」可以看到:

  • 中文名的Excel表
  • 兩個sheet表
  • sheet表的名稱為“我是aa”,“我是bb”

問題舉一反三

「代碼延申」如果是有多個sheet表,想要批量讀取,批量輸出到Excel表中,可以使用for循環(huán)操作:

代碼解釋:

  • 批量生產(chǎn)list
  • 讀取list的元素個數(shù)
  • 重命名sheet表名稱
  • 輸出到excel表中
list1 = list()
for(i in 1:10){
list1[[i]] = data.frame(ID=1:10,y=rnorm(10))
}
n = length(list1)
n

names(list1) = paste0("我是","sheet",1:n)
list1
write.xlsx(list1,"d:/我是批量sheet表.xlsx")

「結(jié)果視圖:」

創(chuàng)造更多問題

如果你有一個Excel表,有幾十個sheet表,這些表結(jié)構(gòu)都相似,如果批量讀入到R中,然后批量操作,最后再批量導出?

「熟悉的味道……」

?

朋友圈中各種python培訓的軟文,都在講如何批量的處理,R語言是這樣實現(xiàn)的,我?guī)熜諩xcel很溜,自己編寫了一套宏,從來看不上R語言,說我是”人為增加學習成本,Excel不香么???“

?

「所以自問自答的寫作風格是如何練成的?」

?

寫公眾號時,就能發(fā)現(xiàn)日子是一成不變的,沒有話題,沒有動力,如何給自己找事情,需要自言自語。往高了說是”自省吾身“,往低了說是”江郎才盡“。所以寫一些東西,給自己出出題,然后自己解答,然后自己翻車……

?

「下節(jié)預告:」

  • R 語言中批量讀入Excel的不同sheet表格
  • Python中批量讀入Excel的不同sheet表格
  • Python中批量寫入Excel的不同sheet表格
?

不加上”批量“二字,體現(xiàn)不出編程語言的氣質(zhì)!

?

「上面的三個題目,可以寫三篇博文」

?

灌水哪家強,飛哥來上場,田里蟲兒飄,地面變汪洋……

?

快來關注我吧!

雖然水平不是最好的,

段子肯定是最好的,

雖然不是最專業(yè)的,

肯定是最有意思的。

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多