[問題] 資料分類
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
我有n筆資料,每筆資料都有m個變數,存在data.frame裡面(維度n*m)
需要依照m個變數的值去做分類,譬如當一筆資料
V1<0 and V2>V3 and V4 %in% c("W","Z")
就會分類為第1類
類別有很多,大約30類左右
希望最後得到一個長度n的向量,向量裡面的數字就是分類的編號
原本是想用if else if去做,但似乎不能用在向量上
只會對第一筆資料做判斷(這部分我不是非常確定,還請大家糾正)
所以外面需要套上for迴圈去一筆一筆判斷
但因為資料非常多,還是希望能夠以向量的方式下去做
我目前的做法是
result = rep(0,n) #記錄最後分類結果的向量
fg = rep(T,n) #記錄每一筆資料是否被分類過(已分類F,未分類T)
r1 = 是否符合第1類條件的向量(長度n,內容全是T or F)
result[r1 & fg] = 1
fg[r1 & fg] = F
r2 = 是否符合第2類條件的向量
result[r2 & fg] = 2
fg[r2 & fg] = F
依此類推到最後
雖然這個已達到我的要求,不過還是稍嫌麻煩,不知道有無更俐落的寫法?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.162.74.61
→
02/09 21:17, , 1F
02/09 21:17, 1F
→
02/09 21:17, , 2F
02/09 21:17, 2F
※ 編輯: puppy77 來自: 1.162.74.61 (02/09 22:05)
→
02/09 22:06, , 3F
02/09 22:06, 3F
→
02/10 22:16, , 4F
02/10 22:16, 4F
討論串 (同標題文章)
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章