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

作者: f496328mm (為什麼會流淚)   2016-08-19 17:09:59
[,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
感覺沒效率
謝謝
作者: carl090105 (Jing)   2016-08-19 17:50:00
apply(x, 1, function(y) dplyr::n_distinct(y))

Links booklink

Contact Us: admin [ a t ] ucptt.com