我使用以下代码计算数据帧的模式:
library(modeest)
apply(df[ ,2:length(df)], 1, mfv)
我的数据如下:
Item A B C
Book001 56 32 56
Book002 95 95 20
Book003 50 89 50
Book004 6 65 40
它给了我以下输出:
[[1]]
[1] 56
[[2]]
[1] 95
[[3]]
[1] 50
[[4]]
[1] 6 40 65
仅当数据包含重复的术语时,此代码才是完美的。
如果没有重复出现的期限,如何将模式显示为NA
?
答案 0 :(得分:0)
让我们尝试使用自定义函数:
foo <- function(x){
out <- mfv(x)
if(length(out) > 1) out <- NA
return(out)
}
apply(df[ ,2:length(df)], 1, foo)
# [1] 56 95 50 NA