[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