My problem is as follows:
I have a data set containing several factor variables, which have the same categories. I need to find the category, which occurs most frequently for each row. In case of ties an arbitrary value can be chosen, although it would be great if I can have more control over it.
My data set contains over a hundred factors. However, the structure is something like that:
df = data.frame(id = 1:3
var1 = c("red","yellow","green")
var2 = c("red","yellow","green")
var3 = c("yellow","orange","green")
var4 = c("orange","green","yellow"))
df
# id var1 var2 var3 var4
# 1 1 red red yellow orange
# 2 2 yellow yellow orange green
# 3 3 green green green yellow
The solution should be a variable within the data frame, for example var5, which contains the most frequent category for each row. It can be a factor or a numeric vector (in case the data need to be converted first to numeric vectors)
In this case, I would like to have this solution:
df$var5
# [1] "red" "yellow" "green"
Any advice will be much appreciated! Thanks in advance!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…