[問題] 矩陣每列種類數量

看板R_Language作者 (為什麼會流淚)時間9年前 (2016/08/19 17:10), 9年前編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
[,1] [,2] [,3] [,4] [,5] [1,] 1 6 2 7 5 [2,] 2 7 3 8 5 [3,] 3 8 4 9 5 [4,] 4 9 5 10 5 [5,] 5 10 6 11 5 舉例來說 data是上面那樣 我要算出每列有多少"種" 像第四列 4 9 5 10 5 有4種數字 code在這 我想要算出所有列的種類數 x=matrix( c(1:10,2:11,5,5,5,5,5) ,ncol=5 ) sapply(c(1:5), function(i) length( levels( factor( x[i,1:5] ) ) ) ) 我目前是先轉factor 然後取level 再算length 不過這樣效率很差 想問問看有沒有什麼比較好的寫法 目前我100萬筆要1.5min 我總data有2.6千萬筆 起碼要30min 感覺沒效率 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.166.200 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1471597802.A.DE4.html

08/19 17:50, , 1F
apply(x, 1, function(y) dplyr::n_distinct(y))
08/19 17:50, 1F
感恩>.< 1百萬筆 時間變成25S 快很多 ※ 編輯: f496328mm (220.137.166.200), 08/19/2016 19:00:12
文章代碼(AID): #1Njipgta (R_Language)
文章代碼(AID): #1Njipgta (R_Language)