在以下示例中,当我想确定组内最频繁的值时,如何要求 R 将平局识别为“平局”?
我基本上是从上一个问题开始的,它使用了 which.max 或 which.is.max 和一个自定义函数(创建一个按组捕获最频繁出现的变量),但我想承认这些关系是一个关系。有任何想法吗?
df1 <-data.frame(
id=c(rep(1,3),rep(2,3)),
v1=as.character(c("a","b","b",rep("c",3)))
)
我想创建第三个变量 freq ,它包含 v1 中按 id 最常见的观察,但也创建了标识为“tie”的关系。
根据之前的答案,此代码可用于创建 freq 变量,但不处理关系:
myFun <- function(x){
tbl <- table(x$v1)
x$freq <- rep(names(tbl)[which.max(tbl)],nrow(x))
x
}
ddply(df1,.(id),.fun=myFun)