我能够使用
Mode <- function(x) { ux <- unique(x) tab <- tabulate(match(x, ux)); ux[tab == max(tab)] }
然而,我的数据帧中的NA值比整数多,所以当我运行此模式时,我会返回NA。
是否有方法以某种方式删除上述函数中的NA值,或者我是否需要从数据帧中删除NA值?如果是,如何?我试过了
DF.omit.NA<- na.omit(DF) ###and na.exclude
它没有产生任何数据行。
我们可以使用 na.omit 包裹在 unique 元素
na.omit
unique
Mode <- function(x) { ux <- na.omit(unique(x) ) tab <- tabulate(match(x, ux)); ux[tab == max(tab) ] } Mode(v1) #[1] 1
v1 <- c(1, 3, NA, 2, 1, 1, NA, NA, NA)