[R] Fwd: Concatenation?

Gerrit Eichner gerr|t@e|chner @end|ng |rom m@th@un|-g|e@@en@de
Thu Feb 18 18:01:28 CET 2021


Right, Bert, but not if X is "only"  matrix. ;-)

 > X <- cbind(X1 = letters[1:3],
            X2 = 5:7,
            X3 = LETTERS[1:3]
)
 > do.call(paste0, X)
Fehler in do.call(paste0, X) : das zweite Argument muss eine Liste sein

(Sorry, but my system is German. :-))

But, of course, then, e.g.,

do.call(paste0, data.frame(X))

would work.

  Best  --  Gerrit

---------------------------------------------------------------------
Dr. Gerrit Eichner                   Mathematical Institute, Room 212
gerrit.eichner using math.uni-giessen.de   Justus-Liebig-University Giessen
Tel: +49-(0)641-99-32104          Arndtstr. 2, 35392 Giessen, Germany
http://www.uni-giessen.de/eichner
---------------------------------------------------------------------

Am 18.02.2021 um 17:08 schrieb Bert Gunter:
> Inline comment below.
> Cheers,
> Bert
> 
> Bert Gunter
> 
> "....
> or, if stored as columns of a matrix or data frame X, e.g.,
> 
> 
> ##############
> 
>     apply(X, 1, paste0)
> 
> ##############
> "
> No. paste() is vectorized. apply() can be avoided:
>> df  <- data.frame(X1 = letters[1:3],
>                   X2 = 5:7,
>                   X3 = LETTERS[1:3]
> )
>> df
>    X1 X2 X3
> 1  a  5  A
> 2  b  6  B
> 3  c  7  C
> 
>> do.call(paste0, df)
> [1] "a5A" "b6B" "c7C"
> 
> 
> 
>        Hth  --  Gerrit
> 
>     ---------------------------------------------------------------------
>     Dr. Gerrit Eichner                   Mathematical Institute, Room 212
>     gerrit.eichner using math.uni-giessen.de
>     <mailto:gerrit.eichner using math.uni-giessen.de> 
>       Justus-Liebig-University Giessen
>     Tel: +49-(0)641-99-32104          Arndtstr. 2, 35392 Giessen, Germany
>     Fax: +49-(0)641-99-32109 http://www.uni-giessen.de/eichner
>     <http://www.uni-giessen.de/eichner>
>     ---------------------------------------------------------------------
> 
>     Am 17.02.2021 um 22:09 schrieb Parkhurst, David:
>      > If I have a vector of site abbreviations and a vector of depths
>     in those water bodies, is there a simple way in R to combine them to
>     make a third vector?
>      > Examples:
>      >
>      > site  depth           desired
>      > MU    0               MU0
>      > MU    1               MU1
>      > MU    2               MU2
>      > MC    0               MC0
>      > MC    1               MC1
>      > MC    2               MC2
>      >
>      > The dataset has many more lines than this.  I can see how to do
>     this with lots of if statements, but does R have magic that can make
>     it happen easily?  I guess this would be called concatenation.
>      >
>      > ______________________________________________
>      > R-help using r-project.org <mailto:R-help using r-project.org> mailing list
>     -- To UNSUBSCRIBE and more, see
>      > https://stat.ethz.ch/mailman/listinfo/r-help
>     <https://stat.ethz.ch/mailman/listinfo/r-help>
>      > PLEASE do read the posting guide
>     http://www.R-project.org/posting-guide.html
>     <http://www.R-project.org/posting-guide.html>
>      > and provide commented, minimal, self-contained, reproducible code.
>      >
> 
>     ______________________________________________
>     R-help using r-project.org <mailto:R-help using r-project.org> mailing list --
>     To UNSUBSCRIBE and more, see
>     https://stat.ethz.ch/mailman/listinfo/r-help
>     <https://stat.ethz.ch/mailman/listinfo/r-help>
>     PLEASE do read the posting guide
>     http://www.R-project.org/posting-guide.html
>     <http://www.R-project.org/posting-guide.html>
>     and provide commented, minimal, self-contained, reproducible code.
>



More information about the R-help mailing list