Hola, Una forma de hacerlo es esta:
#------------------ library(data.table) set.seed(22) DT <- data.table( x = rnorm(100), y = rnorm(100), z = sample(1:5, 100, replace = TRUE)) DT[, Max := max(y), by=z][y == Max] #------------------ Que produce este resultado: > DT[, Max := max(y), by=z][y == Max] x y z Max 1: -0.9221536 1.179189 2 1.179189 2: 2.0029422 1.607435 5 1.607435 3: 0.4413632 1.648292 4 1.648292 4: 0.2195311 1.003396 3 1.003396 5: -0.7727382 1.832411 1 1.832411 Saludos, Carlos Ortega www.qualityexcellence.es El 6 de enero de 2017, 4:38, eric <ericconchamu...@gmail.com> escribió: > si se tiene un data.table (DT), supongamos de 100 filas por 3 columnas de > datos numericos, como puedo hacer para obtener el correspondiente valor de > la columna 1 si busco, por ejemplo, el maximo de la columna 2 agrupado por > la columna 3 ? > > para buscar el maximo de la columna 2 escribo. > > DT[ , max(c2), by=c3 ] > > muchas gracias, > > saludos, eric. > > > > > -- > Forest Engineer > Master in Environmental and Natural Resource Economics > Ph.D. student in Sciences of Natural Resources at La Frontera University > Member in AguaDeTemu2030, citizen movement for Temuco with green city > standards for living > > Nota: Las tildes se han omitido para asegurar compatibilidad con algunos > lectores de correo. > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > -- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es