Re: [問題] 創造dummy variable

看板R_Language作者 (拒看低質媒體)時間7年前 (2016/12/26 23:02), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串3/6 (看更多)
我猜測你的 data.frame 的值可能是從這樣的資料來的: ``` data <- data.frame(abc = c("2,5", "1", "1,2,3", "3", "2,4", "1,4,5") ``` 如果是的話,也許你可以試試看 ``` library(FeatureHashing) hashed.model.matrix( ~ split(abc, ","), data ) ``` 不過這樣拿到的column有hashed過 ※ 引述《clansoda (小笨)》之銘言: : 各位好 單一變數創造dummy variable網路已經有很多答案了 : 我現在遇到的是要比對多個變數來創造dummy variable : 假設我的data長下面這樣 : rowname a b c : 1 2 5 NA : 2 1 NA NA : 3 1 2 3 : 4 3 NA NA : 5 2 4 NA : 6 1 4 5 : 希望能得到 : is.1 is.2 is.3 is.4 is.5 : 1 : FALSE TRUE FALSE FALSE FALSE : 2 : TRUE FALSE FALSE FALSE FALSE : 3 : TRUE TRUE TRUE FALSE FALSE : 4 : FALSE TRUE FALSE TRUE FALSE : 5 : FALSE TRUE FALSE TRUE FALSE : 6 TRUE FALSE FALSE TRUE TRUE : 6 : 這個例子是個簡單化的範本 : 一個row有可能分屬好幾個category 以第一個row舉例 : 他就屬於第二類跟第五類 第二個row則只屬於第一類 : 我現在的寫法是 : for (i in 1 : 5) { : dat[, paste0("is.category", "i") := .SD[, 2 : 4] %in% "i" %>% any, : by = 1 : nrow(dat)] : } : 目前我只會這樣寫 但是這個方法超慢 以我50萬個rows為例就要跑20分鐘 : 我相信有更好的寫法 只是我不知道如何寫 因此想請教各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.178.87 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1482764565.A.A9A.html

12/27 14:15, , 1F
我的資料比較像是三個column有不同值 沒值則是NA
12/27 14:15, 1F

12/27 14:15, , 2F
還是感謝wush大
12/27 14:15, 2F
文章代碼(AID): #1OOJ4LgQ (R_Language)
討論串 (同標題文章)
文章代碼(AID): #1OOJ4LgQ (R_Language)