添加一列以指示每行中选定列的重复率

Cou*_*ney 2 r lapply dataframe dplyr

我有一个像这样的数据框:

df <- data.frame(ID = c(1,2,3,4,5), 
                 Total = c(1,1,2,1,2), 
                 Ma = c(1,2,1,2,1), 
                 Mb = c(1,2,1,2,2), 
                 Md = c(1,2,1,2,1), 
                 Me = c(1,1,1,2,2))
Run Code Online (Sandbox Code Playgroud)

Total我想添加一列来指示从Me每行的列到最大重复率。它应该是这样的:

rep.rate = c(1,0.6,0.8,0.8,0.6)
Run Code Online (Sandbox Code Playgroud)

这些值表示每行五列中最常见值的重复率。

Sot*_*tos 5

你可以试试,

apply(df[-1], 1, function(i)max(prop.table(table(i))))
#[1] 1.0 0.6 0.8 0.8 0.6
Run Code Online (Sandbox Code Playgroud)