[R-es] Insertar filas en un data frame

guivivi en alumni.uv.es guivivi en alumni.uv.es
Mie Oct 28 11:17:12 CET 2009


Gracias por tu respuesta, Olivier, pero sigue sin insertarme hasta el 
final de la tabla.
¿Será problema de length(Data$DV) en el bucle for?

> me parece que tu problema se reduce a un par de paréntesis.
> Sustituye esta linea
> 
> Data <- rbind(Data[1:i,],Data[i,],Data[i+1:length(Data$DV),])
> 
> por
> 
> Data <- rbind(Data[1:i,],Data[i,],Data[(i+1):length(Data$DV),])
> 
> Un saludo. Olivier
> 
> --   
> ____________________________________
> 
> Olivier G. Nuñez
> Email: onunez en iberstat.es
> Tel : +34 663 03 69 09
> Web: http://www.iberstat.es
> 
> ____________________________________
> 
> 
> 
> 
> El 28/10/2009, a las 8:59, <guivivi en alumni.uv.es>  
> <guivivi en alumni.uv.es> escribió:
> 
> > Hola,
> >
> > Por favor, necesito insertar una fila debajo de las filas que  
> > tengan DV
> > distinto de cero, pero no me deja insertar hasta el final de la 
tabla.
> > Esta es mi tabla y este es el código con el que estoy apurado.
> >
> > C ID TIME DV AMT RATE CMT SS II EVID GRUPO VISITA DOSIS VECES 
FORMA  
> > NAP
> > EDAD SEXO ALTURA PESO
> >  11 0 0 3 0 1 1 12 1 3 0 3 2 1 0 77 2 147 74
> >  11 1.417 0.001 0 0 2 0 0 0 3 0 3 2 1 0.001 77 2 147 74
> >  11 0 0 9.6 -2 2 1 24 4 2 2 9.6 1 2 0 77 2 147 74
> >  11 2.5 8.69 0 0 2 0 0 0 2 2 9.6 1 2 2.2 77 2 147 74
> >  11 0 0 9.6 -2 2 1 24 4 2 3 9.6 1 2 0 77 2 147 74
> >  11 2.667 17.49 0 0 2 0 0 0 2 3 9.6 1 2 3.14 77 2 147 74
> >  12 0 0 6 0 1 1 12 1 3 0 6 2 1 0 72 1 160 71
> >  12 15.417 1.61 0 0 2 0 0 0 3 0 6 2 1 2.03 72 1 160 71
> >  12 0 0 6 0 1 1 12 4 3 2 6 2 1 0 72 1 160 71
> >  12 0.917 28.39 0 0 2 0 0 0 3 2 6 2 1 4.79 72 1 160 71
> >  12 0 0 6 0 1 1 12 4 3 3 6 2 1 0 72 1 160 71
> >  12 -8758.75 51.45 0 0 2 0 0 0 3 3 6 2 1 7.67 72 1 160 71
> >  13 0 0 4.5 0 1 1 12 1 3 0 4.5 2 1 0 78 2 151 46
> >  13 2.5 15.28 0 0 2 0 0 0 3 0 4.5 2 1 6.31 78 2 151 46
> >  13 0 0 4.5 -2 2 1 24 4 1 2 4.5 1 2 0 78 2 151 46
> >  13 3.083 2.24 0 0 2 0 0 0 1 2 4.5 1 2 0.53 78 2 151 46
> >
> > #Leer el archivo de datos:
> > Data <- read.table
> > ("C:/Guillermo/Aprendiendo/Tareas_MV/Horas/mydata.prn",header=TRUE)
> >
> > i <- 0
> > for(i in 2:length(Data$DV)){
> >  if(Data$DV[i] != 0 & Data$TIME[i] != Data$TIME[i-1]){
> >   Data <- rbind(Data[1:i,],Data[i,],Data[i+1:length(Data$DV),])
> >   Data$DV[i] <- Data$NAP[i]
> >   Data$NAP[i] <- 2
> >   Data$CMT[i] <- 3
> >  }
> > }
> > #Escribir los valores de la columna NAP:
> > Data$NAP <- ifelse(Data$NAP != 2,Data$NAP <- 1,Data$NAP <- 2)
> > #Eliminar columnas con valores NA:
> > Data <- Data[!is.na(Data[,1]),]
> > Data
> > #Eliminar las variables utilizadas:
> > rm(i,Data)
> >
> > Gracias
> >
> > _______________________________________________
> > R-help-es mailing list
> > R-help-es en r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
> 
> 
> 



Más información sobre la lista de distribución R-help-es