从R中多列中的多行中选取最大值

我有一个数据框,其中包含15个站点的信息,每个站点10个值。总共每个站点有三十个树径值。 我想通过比较每个站点中所有列的直径值来测量这30个值中的最大值。

我已按站点对数据进行分组。

我的数据框包含以下列 站点名称,直径1,直径2和直径3。

structure(list(ï..Site.ID = structure(c(1L,1L,1L),.Label = "But",class = "factor"),X1.27324062 = c(1.27324062,2.228171085,2.54648124,3.501411706),X0.63662031 = c(1.27324062,0.954930465,1.27324062,1.591550775,0.318310155),X1.27324062.1 = c(1.27324062,0.63662031,2.864791395,1.90986093)),class = "data.frame",row.names = c(NA,

-5L))

我尝试使用apply函数和pmax函数,它们为我提供了三列中每行的答案,但是我试图比较每个站点中三十个值中每个单元格的值。

epkaixuan 回答:从R中多列中的多行中选取最大值

假设Site_Id是您的第一列,则可以基于该数据split并从该列的所有值中选择max值。

sapply(split(df[-1],df[[1]]),function(x) max(unlist(x),na.rm = TRUE))

#  But 
#3.5014 
本文链接:https://www.f2er.com/3111837.html

大家都在问