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