Hola, Aparece un problema porque en en el primer subset (sdf) hay algunos valores de K que no existen. Una forma de "protegerse" es esta, incluyendo un "NA" cuando eso ocurre...
for (j in J){ print(j) sdf <- subset(df.raw1, df.raw1$Ques==j) for(k in K){ print(k) x <- sdf[which(sdf$Info==k), "Answ"] * if(length(x) == 0) { df.ok[k, j ] <- "NA" } else { df.ok[k,j] <- as.character(x) }* } } Saludos, Carlos Ortega www.qualityexcellence.es El 8 de julio de 2018, 0:25, Juan Abasolo <juan.abas...@ehu.eus> escribió: > 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 > -- 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