Я пытаюсь применить функцию table() к матрице в R. Я хочу знать, как часто значение (0 , 1) появляется в столбце. Нет проблем, если столбец содержит как 1, так и 0. Но если столбец содержит только 1 или только 0, тогда apply() возвращает странный список вместо матрицы.apply() и table() возвращают странный список, когда столбец имеет только одно значение (100%)
Как я могу применить для возврата матрицы, как в примере 1 для матрицы 2?
#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
редактирования: матрица может содержать NAs
Я не отношусь к одному значению со 100%. Это связано с тем, что три рассчитанные таблицы не имеют одинаковых значений. – Axeman
вам нужно использовать 'apply' ?? – Sotos
'apply (bad_mat + 1, 2, tabulate)' – Axeman