[R] Printing left-justified character strings

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Tue Jun 5 18:39:45 CEST 2018

On 05/06/2018 10:24 AM, zListserv wrote:
> Many (most?) R functions print character strings and factor labels right-justified.

Could you be more specific?  I see character strings left justified, 
e.g. x <- rep(c("a", "ab", "abc"), 7) prints as

   [1] "a"   "ab"  "abc" "a"   "ab"  "abc" "a"
   [8] "ab"  "abc" "a"   "ab"  "abc" "a"   "ab"
  [15] "abc" "a"   "ab"  "abc" "a"   "ab"  "abc"

In a data frame, I do see it right justified:

1    a
2   ab
3  abc

It is easy to change the printing of data frames:

print.data.frame <- function(x, ..., right = FALSE) {
   base::print.data.frame(x, ..., right = right)

 > data.frame(x)
1  a
2  ab
3  abc

Are there other examples you're seeing?

Duncan Murdoch

> print accepts right=FALSE to print character strings left-justified, but neither head nor tail seem to do so, and even print is a little inconsistent depending on whether it's done while knitting.
> Is there a way to set left-justification globally so every routine will print character strings left-justified?
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.

More information about the R-help mailing list