我想在環境中自動保存具有相同名稱的單個資料框,而無需在代碼中為每個資料框本身撰寫名稱。我怎樣才能做到這一點?
library(dplyr)
set.seed(94756)
Data_Date03.03.22Time10.23.45.xlsx <- matrix(sample(seq(-1,100, 0.11),70, replace = TRUE),ncol = 5)
Data_Date03.03.22Time10.23.45.xlsx <- as.tibble(Data_Date03.03.22Time10.23.45.xlsx)
Data_Date03.03.22Time10.26.36.xlsx <- matrix(sample(seq(-1,100, 0.11),70, replace = TRUE),ncol = 5)
Data_Date03.03.22Time10.26.36.xlsx <- as.tibble(Data_Date03.03.22Time10.26.36.xlsx)
Data_Date03.03.22Time10.26.36.xlsx[3,1] <- NA
Data_Date03.03.22Time10.26.36.xlsx[6,1] <- NA
Data_Date03.03.22Time10.27.12.xlsx <- matrix(sample(seq(-1,100, 0.11), 70,replace = TRUE),ncol = 5)
Data_Date03.03.22Time10.27.12.xlsx <- as.tibble(Data_Date03.03.22Time10.27.12.xlsx)
Data_Date03.03.22Time10.27.12.xlsx[4,1] <- NA
data <- list(Data_Date03.03.22Time10.23.45.xlsx, Data_Date03.03.22Time10.26.36.xlsx, Data_Date03.03.22Time10.27.12.xlsx)
我的電腦“保存檔案”檔案夾中的結果應該是:Data_Date03.03.22Time10.23.45.xlsx | Data_Date03.03.22Time10.26.36.xlsx | Data_Date03.03.22Time10.27.12.xlsx | ...作為三個單一的 Excel 檔案。
提前致謝!
uj5u.com熱心網友回復:
這將在您的作業目錄中寫入 excel 檔案。
purrr::imap(mget(ls(pattern = '^Data_Date')), writexl::write_xlsx)
如果要將其寫入特定檔案夾,可以執行 -
purrr::imap(mget(ls(pattern = '^Data_Date')),
~writexl::write_xlsx(.x, paste0('/path/to/folder/', .y)))
解釋 -
lswithpattern回傳名稱中包含模式的全域環境中物件的名稱。
ls(pattern = '^Data_Date')
#[1] "Data_Date03.03.22Time10.23.45.xlsx" "Data_Date03.03.22Time10.26.36.xlsx"
#[3] "Data_Date03.03.22Time10.27.12.xlsx"
mget將創建一個命名的 tibble 串列。imap用于將 tibble 寫入 excel 檔案,其中 tibble.x是.y物件的名稱。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/441267.html
上一篇:Python-具有更好性能的df.iterrows()替代品
下一篇:根據值將df1列與df2列交換
