I need to calculate the mode of an identity number for each group of ages. Let's suposse the following table:
library(data.table)
DT = data.table(age=c(12,12,3,3,12),v=rnorm(5), number=c("122","125","5","5","122"))
So I created a function:
g <- function(number) {
ux <- unique(number)
ux[which.max(tabulate(match(number, ux)))]
}
H<-function(tabla){data.frame(MODA=g, count=nrow(tabla))}
clasif_edad1<-ddply(DF,.(age), H)
View(clasif_edad1)
But I ge tthe following error:
Error: arguments imply differing number of rows: 0, 1
The output should be:
age v number moda
12 0,631152199 122 122
12 0,736648714 125 122
3 0,545921527 5 5
3 0,59336284 5 5
12 0,836685437 122 122
Don't know what the problem is.
Thanks
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…