Discussion:
[R-es] Averiguar qué variables tiene el máximo valor
Manuel Mendoza
2018-04-14 21:23:50 UTC
Permalink
Hola de nuevo. Mi problema es parecido al anterior.

Tengo una df con n filas con un valor para cada una de las 5 variables
(v1 a v5), y necesito construir un vector con la variable para la que
cada fila tiene el valor máximo. El vector tendrá n elementos del tipo
v3,v2,v2,v5,....

vec<- apply(df,1,which.max) me funciona, pero nuevamente me da la
posición de las variables en vez de sus nombres. Quizás haya otra
opción.

Gracias nuevamente,
Manuel
--
Dr Manuel Mendoza
Department of Biogeography and Global Change
National Museum of Natural History (MNCN)
Spanish Scientific Council (CSIC)
C/ Serrano 115bis, 28006 MADRID
Spain
Carlos Ortega
2018-04-14 23:58:05 UTC
Permalink
Hola,
Solo te falta incluir ese vector de índices en el vector de nombres.
head(airquality)
Ozone Solar.R Wind Temp Month Day
1 41 190 7.4 67 5 1
2 36 118 8.0 72 5 2
3 12 149 12.6 74 5 3
4 18 313 11.5 62 5 4
5 NA NA 14.3 56 5 5
6 28 NA 14.9 66 5 6
val_ind <- apply(airquality, 1, which.max)
col_val <- names(airquality)[val_ind]
col_val
[1] "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Temp" "Temp" "Solar.R"
"Solar.R" "Temp" "Solar.R" "Temp" "Solar.R" "Solar.R"
[14] "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Temp"
"Temp" "Solar.R" "Temp" "Solar.R" "Solar.R" "Solar.R"
[27] "Temp" "Temp" "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R"
"Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R"
[40] "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R"
"Solar.R" "Solar.R" "Temp" "Solar.R" "Solar.R" "Solar.R"
[53] "Temp" "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Temp" "Solar.R"
"Temp" "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R"
[66] "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R"
"Solar.R" "Solar.R" "Solar.R" "Temp" "Solar.R" "Solar.R"
[79] "Solar.R" "Solar.R" "Solar.R" "Temp" "Solar.R" "Solar.R" "Solar.R"
"Solar.R" "Temp" "Temp" "Solar.R" "Solar.R" "Solar.R"
[92] "Solar.R" "Solar.R" "Temp" "Temp" "Temp" "Temp" "Temp"
"Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R"
[105] "Solar.R" "Solar.R" "Temp" "Temp" "Temp" "Solar.R" "Solar.R"
"Solar.R" "Solar.R" "Temp" "Solar.R" "Solar.R" "Solar.R"
[118] "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R"
"Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R"
[131] "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Solar.R" "Temp"
"Solar.R" "Solar.R" "Solar.R" "Temp" "Solar.R" "Solar.R"
[144] "Solar.R" "Temp" "Solar.R" "Temp" "Temp" "Solar.R" "Solar.R"
"Solar.R" "Solar.R" "Solar.R"

Gracias,
Carlos Ortega
www.qualityexcellence.es
Hola de nuevo. Mi problema es parecido al anterior.
Tengo una df con n filas con un valor para cada una de las 5 variables (v1
a v5), y necesito construir un vector con la variable para la que cada fila
tiene el valor máximo. El vector tendrá n elementos del tipo
v3,v2,v2,v5,....
vec<- apply(df,1,which.max) me funciona, pero nuevamente me da la posición
de las variables en vez de sus nombres. Quizás haya otra opción.
Gracias nuevamente,
Manuel
--
Dr Manuel Mendoza
Department of Biogeography and Global Change
National Museum of Natural History (MNCN)
Spanish Scientific Council (CSIC)
C/ Serrano 115bis, 28006 MADRID
Spain
_______________________________________________
R-help-es mailing list
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
Saludos,
Carlos Ortega
www.qualityexcellence.es

[[alternative HTML version deleted]]
Loading...