Re: [問題] for loop 迴圈命名變數

作者: celestialgod (天)   2016-10-21 20:23:18
※ 引述《pinlateng (中肯不嘴砲)》之銘言:
: [問題類型]:
: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
: [軟體熟悉度]:
: 新手(沒寫過程式,R 是我的第一次)
: [問題敘述]:
: 我現在將一份問卷匯入到 R 之後,希望依照某行的數值加以分類,再將分類結果
: 用迴圈命名以便後續處理
: [程式範例]:
: 有個 data frame:data
: 裏頭有一行 column_a,值是 1~5
: 現在想以 column_a 的數值為條件將特定列抓出來指定成一個變數
: 也就是把
: column_a_1 <- data[data$column_a == 1,]
: column_a_2 <- data[data$column_a == 2,]
: .
: .
: .
: 濃縮成類似這樣的感覺:
: for (x in c(1:5)){
: column_a[x] <- data[data$column_a == x,]
: }
: [環境敘述]:
:
: R version 3.3.1 (2016-06-21)
: Platform: x86_64-w64-mingw32/x64 (64-bit)
: Running under: Windows >= 8 x64 (build 9200)
: [關鍵字]:
: 迴圈 變數 命名
不建議這麼做,我建議下面的做法
dataList <- split(data, data$column_a)
for (i in 1:length(dataList)){
# do something with dataList[[i]]
}
至於你要的做法,自行?assign或是eval + parse
作者: pinlateng (中肯不嘴砲)   2016-10-21 23:51:00
好的,我來試試看。謝謝!

Links booklink

Contact Us: admin [ a t ] ucptt.com