Hola a todos, A partir de los siguientes datos: d <- list(`1` = structure(list(ped = c(1L, 1L, 1L, 1L, 1L, 1L, 1L), id = 1:7, father = c(2L, 0L, 0L, 2L, 2L, 2L, 2L), mother = c(3L, 0L, 0L, 3L, 3L, 3L, 3L), sex = c(2L, 1L, 2L, 2L, 2L, 1L, 2L), affected = c(1L, 2L, 1L, 1L, 2L, 2L, 2L)), row.names = c("1", "2", "3", "4", "5", "6", "7"), class = "data.frame"), `2` = structure(list( ped = c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), id = 201:214, father = c(0L, 0L, 0L, 201L, 201L, 201L, 201L, 201L, 0L, 203L, 203L, 209L, 209L, 209L), mother = c(0L, 0L, 0L, 202L, 202L, 202L, 202L, 202L, 0L, 204L, 204L, 208L, 208L, 208L), sex = c(1L, 2L, 1L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 1L), affected = c(1L, NA, 1L, 0L, NA, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L)), row.names = c("42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55"), class = "data.frame")) d estoy interesado en obtener un archivo de texto "out.txt" con la siguiente estructura: pedigree: 1 ped id father mother sex affected 1 1 2 3 2 1 1 2 0 0 1 2 1 3 0 0 2 1 1 4 2 3 2 1 1 5 2 3 2 2 1 6 2 3 1 2 1 7 2 3 2 2 pedigree: 2 ped id father mother sex affected 2 201 0 0 1 1 2 202 0 0 2 NA 2 203 0 0 1 1 2 204 201 202 2 0 2 205 201 202 1 NA 2 206 201 202 2 1 2 207 201 202 2 1 2 208 201 202 2 0 2 209 0 0 1 0 2 210 203 204 1 0 2 211 203 204 1 0 2 212 209 208 2 0 2 213 209 208 1 0 2 214 209 208 1 1 La idea es relativamente simple: guardar cada data.frame de "d" sin row labels y con el encabezado "pedigree: " seguido del número en la columna "ped". Alguna idea? Por supuesto esto es una versión muy reducida del problema real. Muchísimas gracias por su ayuda. Saludos cordiales, Jorge.- [[alternative HTML version deleted]]
Hola. A ver esto, qué tal: for (i in 1:length(d)){ cat(paste("Pedigree: ",unique(d[[i]]$ped),"\n")) print(d[[i]],row.names=F) } Saludos, Marcelino El 10/07/2018 a las 11:31, Jorge I Velez escribió:> Hola a todos, > > A partir de los siguientes datos: > > d <- list(`1` = structure(list(ped = c(1L, 1L, 1L, 1L, 1L, 1L, 1L), > id = 1:7, father = c(2L, 0L, 0L, 2L, 2L, 2L, 2L), mother = c(3L, > 0L, 0L, 3L, 3L, 3L, 3L), sex = c(2L, 1L, 2L, 2L, 2L, 1L, > 2L), affected = c(1L, 2L, 1L, 1L, 2L, 2L, 2L)), row.names = c("1", > "2", "3", "4", "5", "6", "7"), class = "data.frame"), `2` = structure(list( > ped = c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > 2L), id = 201:214, father = c(0L, 0L, 0L, 201L, 201L, 201L, > 201L, 201L, 0L, 203L, 203L, 209L, 209L, 209L), mother = c(0L, > 0L, 0L, 202L, 202L, 202L, 202L, 202L, 0L, 204L, 204L, 208L, > 208L, 208L), sex = c(1L, 2L, 1L, 2L, 1L, 2L, 2L, 2L, 1L, > 1L, 1L, 2L, 1L, 1L), affected = c(1L, NA, 1L, 0L, NA, 1L, > 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L)), row.names = c("42", "43", > "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", > "55"), class = "data.frame")) > d > > estoy interesado en obtener un archivo de texto "out.txt" con la siguiente > estructura: > > > pedigree: 1 > ped id father mother sex affected > 1 1 2 3 2 1 > 1 2 0 0 1 2 > 1 3 0 0 2 1 > 1 4 2 3 2 1 > 1 5 2 3 2 2 > 1 6 2 3 1 2 > 1 7 2 3 2 2 > pedigree: 2 > ped id father mother sex affected > 2 201 0 0 1 1 > 2 202 0 0 2 NA > 2 203 0 0 1 1 > 2 204 201 202 2 0 > 2 205 201 202 1 NA > 2 206 201 202 2 1 > 2 207 201 202 2 1 > 2 208 201 202 2 0 > 2 209 0 0 1 0 > 2 210 203 204 1 0 > 2 211 203 204 1 0 > 2 212 209 208 2 0 > 2 213 209 208 1 0 > 2 214 209 208 1 1 > > > La idea es relativamente simple: guardar cada data.frame de "d" sin row > labels y con el encabezado "pedigree: " seguido del número en la columna > "ped". > > Alguna idea? Por supuesto esto es una versión muy reducida del problema > real. > > Muchísimas gracias por su ayuda. > > Saludos cordiales, > Jorge.- > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > . >-- Marcelino de la Cruz Rot Depto. de Biología y Geología Física y Química Inorgánica Universidad Rey Juan Carlos Móstoles España
Gracias, Marcelino. Alguna idea sobre cómo almacenarlo en un archivo de texto? Saludos, Jorge.- On Tue, Jul 10, 2018 at 5:13 AM Marcelino de la Cruz Rot < marcelino.delacruz en urjc.es> wrote:> Hola. A ver esto, qué tal: > > > for (i in 1:length(d)){ > cat(paste("Pedigree: ",unique(d[[i]]$ped),"\n")) > print(d[[i]],row.names=F) > > } > > Saludos, > > Marcelino > > > > El 10/07/2018 a las 11:31, Jorge I Velez escribió: > > Hola a todos, > > > > A partir de los siguientes datos: > > > > d <- list(`1` = structure(list(ped = c(1L, 1L, 1L, 1L, 1L, 1L, 1L), > > id = 1:7, father = c(2L, 0L, 0L, 2L, 2L, 2L, 2L), mother = c(3L, > > 0L, 0L, 3L, 3L, 3L, 3L), sex = c(2L, 1L, 2L, 2L, 2L, 1L, > > 2L), affected = c(1L, 2L, 1L, 1L, 2L, 2L, 2L)), row.names = c("1", > > "2", "3", "4", "5", "6", "7"), class = "data.frame"), `2` > structure(list( > > ped = c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L), id = 201:214, father = c(0L, 0L, 0L, 201L, 201L, 201L, > > 201L, 201L, 0L, 203L, 203L, 209L, 209L, 209L), mother = c(0L, > > 0L, 0L, 202L, 202L, 202L, 202L, 202L, 0L, 204L, 204L, 208L, > > 208L, 208L), sex = c(1L, 2L, 1L, 2L, 1L, 2L, 2L, 2L, 1L, > > 1L, 1L, 2L, 1L, 1L), affected = c(1L, NA, 1L, 0L, NA, 1L, > > 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L)), row.names = c("42", "43", > > "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", > > "55"), class = "data.frame")) > > d > > > > estoy interesado en obtener un archivo de texto "out.txt" con la > siguiente > > estructura: > > > > > > pedigree: 1 > > ped id father mother sex affected > > 1 1 2 3 2 1 > > 1 2 0 0 1 2 > > 1 3 0 0 2 1 > > 1 4 2 3 2 1 > > 1 5 2 3 2 2 > > 1 6 2 3 1 2 > > 1 7 2 3 2 2 > > pedigree: 2 > > ped id father mother sex affected > > 2 201 0 0 1 1 > > 2 202 0 0 2 NA > > 2 203 0 0 1 1 > > 2 204 201 202 2 0 > > 2 205 201 202 1 NA > > 2 206 201 202 2 1 > > 2 207 201 202 2 1 > > 2 208 201 202 2 0 > > 2 209 0 0 1 0 > > 2 210 203 204 1 0 > > 2 211 203 204 1 0 > > 2 212 209 208 2 0 > > 2 213 209 208 1 0 > > 2 214 209 208 1 1 > > > > > > La idea es relativamente simple: guardar cada data.frame de "d" sin row > > labels y con el encabezado "pedigree: " seguido del número en la columna > > "ped". > > > > Alguna idea? Por supuesto esto es una versión muy reducida del problema > > real. > > > > Muchísimas gracias por su ayuda. > > > > Saludos cordiales, > > Jorge.- > > > > [[alternative HTML version deleted]] > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es en r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > . > > > > -- > Marcelino de la Cruz Rot > Depto. de Biología y Geología > Física y Química Inorgánica > Universidad Rey Juan Carlos > Móstoles España > >[[alternative HTML version deleted]]
O así, también: file="datos.txt" for (i in 1:length(d)){ di<-d[[i]] nc<-ncol(di) write(paste("Pedigree: ", unique(di$ped)),file=file, append=TRUE) write(colnames(di),file=file, sep = "\t", ncolumns=nc, append=TRUE) write(t(as.matrix(di)), file=file, sep = "\t", ncolumns=nc, append=TRUE) } Saludos, El 10/07/2018 a las 17:07, Freddy Omar López Quintero escribió:> Hola. > > Con variantes de esto: > > cat(file='probando.txt') > for (i in 1:length(d)){ > cat(paste("Pedigree: ",unique(d[[i]]$ped),"\n"), > file='probando.txt', append=T) > capture.output(print(d[[i]],row.names=F), > file='probando.txt', append=T) > } > > > Se podría hacer. > > Saludos. > > On Tue, Jul 10, 2018 at 9:58 AM Jorge I Velez > <jorgeivanvelez en gmail.com <mailto:jorgeivanvelez en gmail.com>> wrote: > > Gracias, Marcelino. Alguna idea sobre cómo almacenarlo en un > archivo de > texto? > Saludos, > Jorge.- > > > > On Tue, Jul 10, 2018 at 5:13 AM Marcelino de la Cruz Rot < > marcelino.delacruz en urjc.es <mailto:marcelino.delacruz en urjc.es>> wrote: > > > Hola. A ver esto, qué tal: > > > > > > for (i in 1:length(d)){ > > cat(paste("Pedigree: ",unique(d[[i]]$ped),"\n")) > > print(d[[i]],row.names=F) > > > > } > > > > Saludos, > > > > Marcelino > > > > > > > > El 10/07/2018 a las 11:31, Jorge I Velez escribió: > > > Hola a todos, > > > > > > A partir de los siguientes datos: > > > > > > d <- list(`1` = structure(list(ped = c(1L, 1L, 1L, 1L, 1L, 1L, > 1L), > > > id = 1:7, father = c(2L, 0L, 0L, 2L, 2L, 2L, 2L), mother > = c(3L, > > > 0L, 0L, 3L, 3L, 3L, 3L), sex = c(2L, 1L, 2L, 2L, 2L, 1L, > > > 2L), affected = c(1L, 2L, 1L, 1L, 2L, 2L, 2L)), row.names > = c("1", > > > "2", "3", "4", "5", "6", "7"), class = "data.frame"), `2` > > structure(list( > > > ped = c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > > 2L), id = 201:214, father = c(0L, 0L, 0L, 201L, 201L, 201L, > > > 201L, 201L, 0L, 203L, 203L, 209L, 209L, 209L), mother = c(0L, > > > 0L, 0L, 202L, 202L, 202L, 202L, 202L, 0L, 204L, 204L, 208L, > > > 208L, 208L), sex = c(1L, 2L, 1L, 2L, 1L, 2L, 2L, 2L, 1L, > > > 1L, 1L, 2L, 1L, 1L), affected = c(1L, NA, 1L, 0L, NA, 1L, > > > 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L)), row.names = c("42", "43", > > > "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", > > > "55"), class = "data.frame")) > > > d > > > > > > estoy interesado en obtener un archivo de texto "out.txt" con la > > siguiente > > > estructura: > > > > > > > > > pedigree: 1 > > > ped id father mother sex affected > > > 1 1 2 3 2 1 > > > 1 2 0 0 1 2 > > > 1 3 0 0 2 1 > > > 1 4 2 3 2 1 > > > 1 5 2 3 2 2 > > > 1 6 2 3 1 2 > > > 1 7 2 3 2 2 > > > pedigree: 2 > > > ped id father mother sex affected > > > 2 201 0 0 1 1 > > > 2 202 0 0 2 NA > > > 2 203 0 0 1 1 > > > 2 204 201 202 2 0 > > > 2 205 201 202 1 NA > > > 2 206 201 202 2 1 > > > 2 207 201 202 2 1 > > > 2 208 201 202 2 0 > > > 2 209 0 0 1 0 > > > 2 210 203 204 1 0 > > > 2 211 203 204 1 0 > > > 2 212 209 208 2 0 > > > 2 213 209 208 1 0 > > > 2 214 209 208 1 1 > > > > > > > > > La idea es relativamente simple: guardar cada data.frame de > "d" sin row > > > labels y con el encabezado "pedigree: " seguido del número en > la columna > > > "ped". > > > > > > Alguna idea? Por supuesto esto es una versión muy reducida > del problema > > > real. > > > > > > Muchísimas gracias por su ayuda. > > > > > > Saludos cordiales, > > > Jorge.- > > > > > > [[alternative HTML version deleted]] > > > > > > _______________________________________________ > > > R-help-es mailing list > > > R-help-es en r-project.org <mailto:R-help-es en r-project.org> > > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > . > > > > > > > -- > > Marcelino de la Cruz Rot > > Depto. de Biología y Geología > > Física y Química Inorgánica > > Universidad Rey Juan Carlos > > Móstoles España > > > > > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org <mailto:R-help-es en r-project.org> > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > -- > «...homines autem hominum causa esse generatos...» > > Cicero >-- Marcelino de la Cruz Rot Depto. de Biología y Geología Física y Química Inorgánica Universidad Rey Juan Carlos Móstoles España
O más fácil aún: sink(file="datos3.txt") for (i in 1:length(d)){ cat(paste("Pedigree: ",unique(d[[i]]$ped),"\n")) print(d[[i]],row.names=F) } sink() El 10/07/2018 a las 17:39, Marcelino de la Cruz Rot escribió:> O así, también: > > > file="datos.txt" > > for (i in 1:length(d)){ > di<-d[[i]] > nc<-ncol(di) > > write(paste("Pedigree: ", unique(di$ped)),file=file, append=TRUE) > write(colnames(di),file=file, sep = "\t", ncolumns=nc, append=TRUE) > write(t(as.matrix(di)), file=file, sep = "\t", ncolumns=nc, > append=TRUE) > } > > > Saludos, > > > > > > El 10/07/2018 a las 17:07, Freddy Omar López Quintero escribió: >> Hola. >> >> Con variantes de esto: >> >> cat(file='probando.txt') >> for (i in 1:length(d)){ >> cat(paste("Pedigree: ",unique(d[[i]]$ped),"\n"), >> file='probando.txt', append=T) >> capture.output(print(d[[i]],row.names=F), >> file='probando.txt', append=T) >> } >> >> >> Se podría hacer. >> >> Saludos. >> >> On Tue, Jul 10, 2018 at 9:58 AM Jorge I Velez >> <jorgeivanvelez en gmail.com <mailto:jorgeivanvelez en gmail.com>> wrote: >> >> Gracias, Marcelino. Alguna idea sobre cómo almacenarlo en un >> archivo de >> texto? >> Saludos, >> Jorge.- >> >> >> >> On Tue, Jul 10, 2018 at 5:13 AM Marcelino de la Cruz Rot < >> marcelino.delacruz en urjc.es <mailto:marcelino.delacruz en urjc.es>> >> wrote: >> >> > Hola. A ver esto, qué tal: >> > >> > >> > for (i in 1:length(d)){ >> > cat(paste("Pedigree: ",unique(d[[i]]$ped),"\n")) >> > print(d[[i]],row.names=F) >> > >> > } >> > >> > Saludos, >> > >> > Marcelino >> > >> > >> > >> > El 10/07/2018 a las 11:31, Jorge I Velez escribió: >> > > Hola a todos, >> > > >> > > A partir de los siguientes datos: >> > > >> > > d <- list(`1` = structure(list(ped = c(1L, 1L, 1L, 1L, 1L, 1L, >> 1L), >> > > id = 1:7, father = c(2L, 0L, 0L, 2L, 2L, 2L, 2L), mother >> = c(3L, >> > > 0L, 0L, 3L, 3L, 3L, 3L), sex = c(2L, 1L, 2L, 2L, 2L, 1L, >> > > 2L), affected = c(1L, 2L, 1L, 1L, 2L, 2L, 2L)), row.names >> = c("1", >> > > "2", "3", "4", "5", "6", "7"), class = "data.frame"), `2` >> > structure(list( >> > > ped = c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, >> > > 2L), id = 201:214, father = c(0L, 0L, 0L, 201L, 201L, 201L, >> > > 201L, 201L, 0L, 203L, 203L, 209L, 209L, 209L), mother = >> c(0L, >> > > 0L, 0L, 202L, 202L, 202L, 202L, 202L, 0L, 204L, 204L, 208L, >> > > 208L, 208L), sex = c(1L, 2L, 1L, 2L, 1L, 2L, 2L, 2L, 1L, >> > > 1L, 1L, 2L, 1L, 1L), affected = c(1L, NA, 1L, 0L, NA, 1L, >> > > 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L)), row.names = c("42", "43", >> > > "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", >> "54", >> > > "55"), class = "data.frame")) >> > > d >> > > >> > > estoy interesado en obtener un archivo de texto "out.txt" con la >> > siguiente >> > > estructura: >> > > >> > > >> > > pedigree: 1 >> > > ped id father mother sex affected >> > > 1 1 2 3 2 1 >> > > 1 2 0 0 1 2 >> > > 1 3 0 0 2 1 >> > > 1 4 2 3 2 1 >> > > 1 5 2 3 2 2 >> > > 1 6 2 3 1 2 >> > > 1 7 2 3 2 2 >> > > pedigree: 2 >> > > ped id father mother sex affected >> > > 2 201 0 0 1 1 >> > > 2 202 0 0 2 NA >> > > 2 203 0 0 1 1 >> > > 2 204 201 202 2 0 >> > > 2 205 201 202 1 NA >> > > 2 206 201 202 2 1 >> > > 2 207 201 202 2 1 >> > > 2 208 201 202 2 0 >> > > 2 209 0 0 1 0 >> > > 2 210 203 204 1 0 >> > > 2 211 203 204 1 0 >> > > 2 212 209 208 2 0 >> > > 2 213 209 208 1 0 >> > > 2 214 209 208 1 1 >> > > >> > > >> > > La idea es relativamente simple: guardar cada data.frame de >> "d" sin row >> > > labels y con el encabezado "pedigree: " seguido del número en >> la columna >> > > "ped". >> > > >> > > Alguna idea? Por supuesto esto es una versión muy reducida >> del problema >> > > real. >> > > >> > > Muchísimas gracias por su ayuda. >> > > >> > > Saludos cordiales, >> > > Jorge.- >> > > >> > > [[alternative HTML version deleted]] >> > > >> > > _______________________________________________ >> > > R-help-es mailing list >> > > R-help-es en r-project.org <mailto:R-help-es en r-project.org> >> > > https://stat.ethz.ch/mailman/listinfo/r-help-es >> > > . >> > > >> > >> > -- >> > Marcelino de la Cruz Rot >> > Depto. de Biología y Geología >> > Física y Química Inorgánica >> > Universidad Rey Juan Carlos >> > Móstoles España >> > >> > >> >> [[alternative HTML version deleted]] >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es en r-project.org <mailto:R-help-es en r-project.org> >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >> >> >> -- >> «...homines autem hominum causa esse generatos...» >> >> Cicero >> >-- Marcelino de la Cruz Rot Depto. de Biología y Geología Física y Química Inorgánica Universidad Rey Juan Carlos Móstoles España