Buenas noches; Además del proyecto que comenté antes y con el que sigo discutiendo, también me estoy peleando con otro... con el que también tropiezo.
Necesito reordenar los datos presentados en dos columnas a filas y columnas. Los datos ideales serían algo así: Ques <- c(rep("Q1",3),rep("Q2",3),rep("Q3",3)) Info <- rep(c("aca", "ahi", "alla"),3) Answ <- c("casa", "bulo", "hogar", "mama", "mami", "vieja", "perro", "can", "rope") df.raw <- data.frame(ID, Ques, Info, Answ) Pero, como no son ideales, se parecen a esto: df.raw1 <- df.raw[-2,] # Necesito un dataframe con una estructura así: df.ok <- data.frame(matrix(ncol = length(levels(df.raw$Ques)), nrow = length(levels(df.raw$Info)))) names(df.ok) <- levels(df.raw$Ques) rownames(df.ok) <- levels(df.raw$Info) # que incluya los datos de 'Answ' en donde correspondería J <- levels(df.raw$Ques) K <- levels(df.raw$Info) # El ideal me queda resuelto con esto: for (j in J){ sdf <- subset(df.raw, df.raw$Ques==j) for(k in K){ x <- sdf[which(sdf$Info==k), "Answ"] df.ok[k,j] <- as.character(x) } } Pero si en la segunda linea sustituyo df.raw por df.raw1 for (j in J){ sdf <- subset(df.raw1, df.raw1$Ques==j) for(k in K){ x <- sdf[which(sdf$Info==k), "Answ"] df.ok[k,j] <- as.character(x) } } , ahí me da error. ¿Hay alguna forma de que asigne "" o NA o algo a quitar luego? O packete que haga el trabajo u orden para salvar lo que venía haciendo yo? Presupongo que será otra de esas respuestas evidentes, y disculpen lo largo de la exposición. Desde ya, muchas gracias -- Juan Abasolo Hizkuntzaren eta Literaturaren Didaktika Saila Bilboko Hezkuntza Fakultatea Euskal Herriko Unibertsitatea UPV/EHU Sarriena auzoa z/g 48940 Leioa Bizkaia [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es