[R] Dplyr question

Bert Gunter bgunter@4567 @end|ng |rom gm@||@com
Tue Jun 21 20:25:29 CEST 2022


Heh heh. Well "intuitiveness" is in the mind of the intuiter. ;-)
One might even say that Jeff's and John's solutions were the most
"intuitive" as they involved nothing more than the "straightforward"
application of standard base R functionality. (Do note the scare quotes
around 'straightforward'.) Of course, other factors may well be decisive,
such as efficiency, generalizability to the *real* problem and data, and so
forth.

Best to all,
Bert

On Tue, Jun 21, 2022 at 10:50 AM Rui Barradas <ruipbarradas using sapo.pt> wrote:

> Hello,
>
> pivot_longer is a package tidyr function, not dplyr. I find its syntax
> very intuitive. Here is a solution.
>
>
>
> x <- "Time_stamp    P1A0B0D P190-90D
> 'Jun-10 10:34'  -0.000208   -0.000195
> 'Jun-10 10:51'  -0.000228   -0.000188
> 'Jun-10 11:02'  -0.000234   -0.000204
> 'Jun-10 11:17'  -0.00022    -0.000205
> 'Jun-10 11:25'  -0.000238   -0.000195"
> df1 <- read.table(textConnection(x), header = TRUE, check.names = FALSE)
>
> suppressPackageStartupMessages({
>    library(dplyr)
>    library(tidyr)
> })
>
> df1 %>%
>    pivot_longer(
>      cols = -Time_stamp,     # or starts_with("P1")
>      names_to = "Location",
>      values_to = "Measurement"
>    ) %>%
>    arrange(desc(Location), Time_stamp)
> #> # A tibble: 10 × 3
> #>    Time_stamp   Location Measurement
> #>    <chr>        <chr>          <dbl>
> #>  1 Jun-10 10:34 P1A0B0D    -0.000208
> #>  2 Jun-10 10:51 P1A0B0D    -0.000228
> #>  3 Jun-10 11:02 P1A0B0D    -0.000234
> #>  4 Jun-10 11:17 P1A0B0D    -0.00022
> #>  5 Jun-10 11:25 P1A0B0D    -0.000238
> #>  6 Jun-10 10:34 P190-90D   -0.000195
> #>  7 Jun-10 10:51 P190-90D   -0.000188
> #>  8 Jun-10 11:02 P190-90D   -0.000204
> #>  9 Jun-10 11:17 P190-90D   -0.000205
> #> 10 Jun-10 11:25 P190-90D   -0.000195
>
>
>
> Hope this helps,
>
> Rui Barradas
>
> Às 17:22 de 21/06/2022, Thomas Subia escreveu:
> > Colleagues:
> >
> > The header of my data set is:
> > Time_stamp    P1A0B0D P190-90D
> > Jun-10 10:34  -0.000208       -0.000195
> > Jun-10 10:51  -0.000228       -0.000188
> > Jun-10 11:02  -0.000234       -0.000204
> > Jun-10 11:17  -0.00022        -0.000205
> > Jun-10 11:25  -0.000238       -0.000195
> >
> > I want my data set to resemble:
> >
> > Time_stamp    Location        Measurement
> > Jun-10 10:34  P1A0B0D -0.000208
> > Jun-10 10:51  P1A0B0D -0.000228
> > Jun-10 11:02  P1A0B0D -0.000234
> > Jun-10 11:17  P1A0B0D -0.00022
> > Jun-10 11:25  P1A0B0D -0.000238
> > Jun-10 10:34  P190-90D        -0.000195
> > Jun-10 10:51  P190-90D        -0.000188
> > Jun-10 11:02  P190-90D        -0.000204
> > Jun-10 11:17  P190-90D        -0.000205
> > Jun-10 11:25  P190-90D        -0.000195
> >
> > I need some advice on how to do this using dplyr.
> >
> > V/R
> > Thomas Subia
> >
> > FM Industries, Inc. - NGK Electronics, USA | www.fmindustries.com
> > 221 Warren Ave, Fremont, CA 94539
> >
> > "En Dieu nous avons confiance, tous les autres doivent apporter des
> donnees"
> >
> > ______________________________________________
> > 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.
>
> ______________________________________________
> 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.
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list