我試圖將表()函數應用到R中的矩陣。我想知道多長時間一次值(0 ,1)每欄出現。 如果列包含1和0,則沒有問題。但是,如果列只包含1或僅包含0,那麼apply()將返回一個奇怪的列表而不是矩陣。apply()和table()當列只有一個值(100%)時返回奇怪的列表
我該如何申請返回像矩陣2中的例子1中的矩陣?
#example 1
good_mat<-matrix(c(c(1,0,1),c(1,0,1),c(0,0,1)), 3,3, byrow=F)
apply(good_mat, 2, FUN=table) # good result, matrix
#example 2
bad_mat<-matrix(c(rep(1,3),c(1,NA,1),c(0,0,1)), 3,3, byrow=F)
apply(bad_mat, 2, FUN=table) # strange list
編輯: 基質可以包含的NA
我不是特定於具有100%的一個值。這是因爲三個計算表沒有相同的值。 – Axeman
你必須使用'apply'嗎? – Sotos
'apply(bad_mat + 1,2,tabulate)' – Axeman