这是我的数据示例:
v1 <- c("Friday", "Wednesday")
v2 <- c("Sunday", "Monday", "Sunday", "Friday")
mylist <- list(v1, v2)
对于[[1]],它应该返回类似NA的值。 对于[[2]],它应该返回星期日
我尝试使用R的tm包:
termFreq(mylist[[2]])
返回频率表。我想以最大频率提取元素并将其保存在另一列中。在没有最大值的情况下(例如[[1]],我想返回NA。
任何帮助将不胜感激!
答案 0 :(得分:1)
我们创建一个Mode
函数,然后将其应用于list
元素
Mode <- function(x) {
ux <- unique(x)
count = tabulate(match(x, ux))
if(length(unique(count)) == 1) {
NA
} else ux[which.max(count)]
}
lapply(mylist, Mode)
#[[1]]
#[1] NA
#[[2]]
#[1] "Sunday"