Hi,
Try this:
#x- data
?invisible(sapply(names(x),function(y) {cat(y,"\n");print(x[[y]]);cat("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","\n")}))
MU10
??? MU.16???? MU.19???? MU.21????? mean??????? sd
0.8052791 0.4350489 0.4551954 0.5651744 0.2081806
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MU11
???? MU.21????? MU.22?????? mean???????? sd
0.56061566 0.65200918 0.60631242 0.06462498
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MU12
??? MU.14???? MU.20???? MU.23????? mean??????? sd
0.7726512 0.3925776 0.3822244 0.5158177 0.2224845
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MU13
??? MU.20???? MU.22????? mean??????? sd
0.3636058 0.2139613 0.2887835 0.1058146
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MU14
??? MU.18????? mean??????? sd
0.3169202 0.3169202??????? NA
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MU15
??? MU.18???? MU.22????? mean??????? sd
0.5764542 0.8236923 0.7000733 0.1748237
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
A.K.
----- Original Message -----
From: Iain Gallagher <iaingallagher at btopenworld.com>
To: r-help <r-help at r-project.org>
Cc:
Sent: Wednesday, November 28, 2012 10:30 AM
Subject: [R] write out list of lists with names
Hello List
I have a list question. I'm doing some data wrangling for a colleague and I have nested list in the following format:
structure(list(MU10 = structure(c(0.80527905920989, 0.4350488707836,
0.455195366623, 0.565174432205497, 0.208180556861924), .Names = c("MU.16",
"MU.19", "MU.21", "mean", "sd")), MU11 = structure(c(0.56061565798878,
0.65200918021661, 0.606312419102695, 0.0646249793238221), .Names = c("MU.21",
"MU.22", "mean", "sd")), MU12 = structure(c(0.77265115449472,
0.3925776107826, 0.38222435807226, 0.515817707783193, 0.222484520748552
), .Names = c("MU.14", "MU.20", "MU.23", "mean", "sd")), MU13 = structure(c(0.36360576458114,
0.21396125968483, 0.288783512132985, 0.105814644179484), .Names = c("MU.20",
"MU.22", "mean", "sd")), MU14 = structure(c(0.31692017862428,
0.31692017862428, NA), .Names = c("MU.18", "mean", "sd")), MU15 = structure(c(0.57645424339545,
0.82369227173036, 0.700073257562905, 0.174823686402807), .Names = c("MU.18",
"MU.22", "mean", "sd"))), .Names = c("MU10", "MU11", "MU12",
"MU13", "MU14", "MU15"))
I would like to write this to a text file in the form e.g. (each x is a value):
MU10
MU.16? MU.19? MU.21? mean? sd
x? x? x? x? x?
MU11
MU.21? MU.22 mean sd
x? x? x? x
Where each list element is on a new block of three rows.
After consulting Google I came across the following:
fnlist <- function(x, fil){
z <- deparse(substitute(x))
cat(z, "\n", file = fil)
nams <- names(x)
for (i in seq_along(x) ){ cat(nams[i], "\n", x[[i]], "\n",file = fil, append = TRUE) }
}
fnlist(holdList, 'res.txt')
However this doesn't print the names within each sub list.
Can anyone advise?
Thanks
Iain
R version 2.15.1 (2012-06-22)
Platform: x86_64-pc-linux-gnu (64-bit)
locale:
?[1] LC_CTYPE=en_GB.UTF-8?????? LC_NUMERIC=C?????????????
?[3] LC_TIME=en_GB.UTF-8??????? LC_COLLATE=en_GB.UTF-8???
?[5] LC_MONETARY=en_GB.UTF-8??? LC_MESSAGES=en_GB.UTF-8??
?[7] LC_PAPER=C???????????????? LC_NAME=C????????????????
?[9] LC_ADDRESS=C?????????????? LC_TELEPHONE=C???????????
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C??????
attached base packages:
[1] stats???? graphics? grDevices utils???? datasets? methods?? base????
other attached packages:
[1] plyr_1.7.1??? gsubfn_0.6-5? proto_0.3-9.2
loaded via a namespace (and not attached):
[1] tcltk_2.15.1 tools_2.15.1
Iain
______________________________________________
R-help at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.