[問題] 創造dummy variable
各位好 單一變數創造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.175.237.42
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1482739029.A.247.html
→
12/26 18:49, , 1F
12/26 18:49, 1F
※ 編輯: clansoda (36.238.38.77), 12/26/2016 19:32:59
→
12/26 19:33, , 2F
12/26 19:33, 2F
→
12/26 22:04, , 3F
12/26 22:04, 3F
→
12/27 15:16, , 4F
12/27 15:16, 4F
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 6 篇):
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章