With print(list(A="a",B="b")) it displays $A [1] "a" $B [1] "b" I would like to add a common prefix to all the list tags after the $. Pasting the prefix to the "names" does not work (appear after the $). For example if the prefix would be "P", it should display: P$A [1] "a" P$B [1] "b" I tried to add a "name" attribute to the list or to add a prefix="P" to print but nothing works. Any hint? Thanks, Laurent.
Laurent Deniau wrote:> With > > print(list(A="a",B="b")) > > it displays > > $A > [1] "a" > > $B > [1] "b" > > I would like to add a common prefix to all the list tags after the $. > Pasting the prefix to the "names" does not work (appear after the $). > For example if the prefix would be "P", it should display: > > P$A > [1] "a" > > P$B > [1] "b" > > I tried to add a "name" attribute to the list or to add a prefix="P" to > print but nothing works. Any hint?This is a very internal feature of print(). At a first quick look, I think you will have to change the R sources and recompile. Conclusion: Don't do it. Uwe Ligges> Thanks, > > Laurent. > > ______________________________________________ > R-help at stat.math.ethz.ch 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.
On Tue, 8 Aug 2006, Laurent Deniau wrote:> With > > print(list(A="a",B="b")) > > it displays > > $A > [1] "a" > > $B > [1] "b" > > I would like to add a common prefix to all the list tags after the $.`prefix' ... `after'? You seem to want to prefix component names: why? What do you want for component $a$b$c? For unnamed components?> Pasting the prefix to the "names" does not work (appear after the $). > For example if the prefix would be "P", it should display: > > P$A > [1] "a" > > P$B > [1] "b" > > I tried to add a "name" attribute to the list or to add a prefix="P" to > print but nothing works. Any hint?You will need to alter the C code to do this. -- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595
A simple function will do what you want, customize this as needed: lprint <- function(lst,prefix) { for (i in 1:length(lst)) { cat(paste(prefix,"$",names(lst)[i],sep=""),"\n") print(lst[[i]]) cat("\n") } } P <- list(A="a",B="b") lprint(P,"Prefix")> -----Original Message----- > From: r-help-bounces at stat.math.ethz.ch > [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Laurent Deniau > Sent: Tuesday, August 08, 2006 12:25 PM > To: R-help > Subject: [R] prefixing list names in print > > With > > print(list(A="a",B="b")) > > it displays > > $A > [1] "a" > > $B > [1] "b" > > I would like to add a common prefix to all the list tags after the $. > Pasting the prefix to the "names" does not work (appear after the $). > For example if the prefix would be "P", it should display: > > P$A > [1] "a" > > P$B > [1] "b" > > I tried to add a "name" attribute to the list or to add a > prefix="P" to > print but nothing works. Any hint? > > Thanks, > > Laurent. > > ______________________________________________ > R-help at stat.math.ethz.ch 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. >
Reasonably Related Threads
- Inconsistent behavior for the C AP's R_ParseVector() ?
- Inconsistent behavior for the C AP's R_ParseVector() ?
- Inconsistent behavior for the C AP's R_ParseVector() ?
- Inconsistent behavior for the C AP's R_ParseVector() ?
- Inconsistent behavior for the C AP's R_ParseVector() ?