[問題] list問題

看板R_Language作者 (aa955260)時間8年前 (2017/01/12 01:03), 8年前編輯推噓0(003)
留言3則, 2人參與, 最新討論串2/3 (看更多)
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 各位大大好,我的資料集內有多個人(sub.list),每個人下面有3種不同狀態(stat.list) ,每種狀態下有3種不同的狀況(level.list),目前我是用for-loop來分別讀取2維的 data.frame(A, B, C),我想做的是用Scal.list將3種不同level.list的資料與名稱包起 來,再用All.list把3種不同stat.list的資料與名稱包起來,做成1個大的All.list。以 下為錯誤範例,請問我該怎麼修改會比較好呢?或是有沒有其他更好的寫法呢? 感謝 [程式範例]: sub.list <- list("001", "002", "003") stat.list <- list("High", "Low", "None") level.list <- list("Light", "Moderate", "Vigorous") Scal.list <- list() All.list <- list() for(i in 1:length(sub.list)){ for(j in 1:length(stat.list)){ A_path <- paste0(data.path, sub.list[i], "\\", stat.list[j] ,"\\", level.list[1], ".csv") A <- fread(A_path, header = T) B_path <- paste0(data.path, sub.list[i], "\\", stat.list[j] , "\\", level.list[2], ".csv") B <- fread(B_path , header = T) C_path <- paste0(data.path, sub.list[i], "\\", stat.list[j] , "\\", level.list[3], ".csv") C <- fread(C_path, header = T) t.list <- list() t.list <- list(A, B, C) names(t.list)[1] <- level.list[1] names(t.list)[2] <- level.list[2] names(t.list)[3] <- level.list[3] Scal.list[[length(Scal.list)+1]] <- t.list } All.list[[length(All.list)+1]] <- Scal.list } [環境敘述]: R version 3.3.2 (2016-10-31) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows >= 8 x64 (build 9200) locale: [1] LC_COLLATE=Chinese (Traditional)_Taiwan.950 LC_CTYPE=Chinese (Traditional)_Taiwan.950 [3] LC_MONETARY=Chinese (Traditional)_Taiwan.950 LC_NUMERIC=C [5] LC_TIME=Chinese (Traditional)_Taiwan.950 attached base packages: [1] stats graphics grDevices utils datasets methods base loaded via a namespace (and not attached): [1] tools_3.3.2 [關鍵字]: 多層list、多層迴圈讀檔 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.44.115 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1484154188.A.632.html ※ 編輯: aa955260 (1.161.44.115), 01/12/2017 01:04:17

01/12 08:00, , 1F
三個list改用向量,配上expand.grid應該就可以直接
01/12 08:00, 1F

01/12 08:00, , 2F
向量處理了
01/12 08:00, 2F

01/12 14:12, , 3F
不好意思,我有點不太理解,請問有範例code嗎?
01/12 14:12, 3F
文章代碼(AID): #1OTcLCOo (R_Language)
討論串 (同標題文章)
文章代碼(AID): #1OTcLCOo (R_Language)