如何在 R 中计算模式但删除 NA 值
How to calculate mode in R but removing NA values
我可以使用
计算众数
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
元素
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)
我可以使用
计算众数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
元素
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)