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() ?