[問題] 資料分類

看板R_Language作者 ( )時間10年前 (2014/02/09 20:16), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串1/2 (看更多)
[問題類型]: 程式諮詢(我想用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
我覺得`cut`應該可以達到你要的功能
02/09 21:17, 1F

02/09 21:17, , 2F
細節使用你要自己去讀?cut了
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
cut是否只能用在一個變數的情況??
02/10 22:16, 4F
文章代碼(AID): #1Izt6wgN (R_Language)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
文章代碼(AID): #1Izt6wgN (R_Language)