[R-es] crear variable en base a nombre de columnas que tienen un 1
José Luis Cañadas Reche
canadasreche en gmail.com
Vie Abr 11 12:54:44 CEST 2014
Buenos días.
Hoy ando un poco (o bastante) espeso y no doy con la tecla de una cosa
que seguro que es muy simple..
Pongo un ejemplo.
var1 <- c(rep(0,3),rep(1,2))
var2 <- c(rep(1,2),0,0,1)
var3 <- c(rep(1,2),rep(0,3))
var4 <- c(rep(1,2),rep(0,3))
datos <- data.frame(fila=1:5,var1, var2, var3, var4)
datos
datos
fila var1 var2 var3 var4
1 1 0 1 1 1
2 2 0 1 1 1
3 3 0 0 0 0
4 4 1 0 0 0
5 5 1 1 0 0
El caso es que quiero crear 3 variables nuevas p1, p2 y p3 de forma que
p1 recoja el nombre de la primera variables dónde hay un 1 .
Se quedaría
datos
fila var1 var2 var3 var4 p1 p2 p3
1 1 0 1 1 1 var2 var3 var4
2 2 0 1 1 1 var2 var3 var4
3 3 0 0 0 0 0 0 0
4 4 1 0 0 0 var1 0 0
5 5 1 1 0 0 var1 var2 0
El caso es que no puedo haber más de 3 respuestas. En mis datos reales
tengo más de 600 variables de tipo 0,1 , pero nadie ha contestado más de
3 respuestas.
¿cómo podría asignar a p1, p2 y p3 el nombre de las variables dónde hay
un 1?
alguna idea?
Saludos.
Más información sobre la lista de distribución R-help-es