I was trying to take the mean of some columns using across and there was an issue making new different columns on for each column of the mean I used. Is it working properly?
library(tidyverse)
cars %>%
as_tibble() %>%
add_case(speed = 11, dist = NA, .before = 1) %>%
add_column(names = str_c("a",1:51)) %>%
rename_with(.cols = -names, ~str_c("one_",.x)) %>%
group_by(names) %>%
mutate(two = across(starts_with("one"), .fns = mean))
In the vignette it shows this example:
df %>% mutate_at(vars(c(x, starts_with("y"))), mean)
# ->
df %>% mutate(across(c(x, starts_with("y")), mean, na.rm = TRUE))
I would expect that in every case with NA it would produce NA instead of another column.
Don't necessarily see the use of
across
here if you want to take rowwisemean
of two columns.You can use
rowwise
withc_across
but it is going to be inefficient thenrowMeans
.