HAPPY NEW YEAR 2023.
# Title: 讀取大量xlsx檔與迴圈運行建議
# Date: 2022.12.31
# 步驟1. 載入套件
library(trend)
library(writexl)
library(readxl)
# 步驟2. 模擬3個Excel檔案, 每個檔案有12個變數, 每個變數樣本數為100.
data(Nile)
ncolumns <- 12
nrows <- 100
# files: df_1.xlsx, df_2.xlsx, df_3.xlsx
for (i in 1:3) {
df <- data.frame(matrix(sample(Nile, ncolumns*nrows, replace = TRUE), ncol = ncolumns))
names(df) <- 1:12
write_xlsx(x=df, path=paste0("df_", i, ".xlsx"))
}
# 步驟3. 匯入所有 Excel 檔案
# 取得所有檔案名稱
myfile <- list.files(pattern = "df_")
# 匯入所有工作表,並儲存為list資料物件
sheets <- excel_sheets(myfile)
dflist <- lapply(myfile, read_excel)
names(dflist) <- myfile
dflist
# 步驟4. 進行 mk.test
# 測試 df_1.xlsx 檔案中12個變數的mk.test
apply(dflist[[1]], 2, mk.test)
# 測試所有 Excel 檔案中12個變數的mk.test
mkdata <- list()
for (i in 1:length(dflist)) {
mkdata[[i]] <- apply(dflist[[i]], 2, mk.test)
}
names(mkdata) <- myfile
mkdata
# 找出 p-value
mkdata[[1]]$`1`$p.value
mkdata[[1]]$`2`$p.value
# end