Closed coforfe closed 6 months ago
You're trying to use the colon :
in a column selection context (like select(col1:col4)
). To get column selection inside of a mutate()
you need to use pick()
or across()
.
Also note that using rowSums()
will be much faster in this case than a mutate_rowwise()
call.
pacman::p_load(tidytable)
iris %>%
mutate_rowwise(sumall = sum(c(Sepal.Length, Sepal.Width, Petal.Length, Petal.Width)),
sumall2 = sum(pick(Sepal.Length:Petal.Width))) %>%
mutate(sumall3 = rowSums(pick(Sepal.Length:Petal.Width))) %>%
select(starts_with("sum"))
#> # A tidytable: 150 × 3
#> sumall sumall2 sumall3
#> <dbl> <dbl> <dbl>
#> 1 10.2 10.2 10.2
#> 2 9.5 9.5 9.5
#> 3 9.4 9.4 9.4
#> 4 9.4 9.4 9.4
#> 5 10.2 10.2 10.2
#> 6 11.4 11.4 11.4
#> 7 9.7 9.7 9.7
#> 8 10.1 10.1 10.1
#> 9 8.9 8.9 8.9
#> 10 9.6 9.6 9.6
#> # ℹ 140 more rows
Hope this helps - if you have any questions let me know.
Thanks Mark!.
I was not aware of pick()
.
Thanks again, Carlos
Hello Mark,
I am trying to sum several columns at the same time and rowwise and I found this abnormal behaviour. It works when declaring all the different columns, but not when using
:
between the first and the last column:Which produces this output:
So, it seems that
:
is not valid...Thanks, Carlos.