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
acrosshere if you want to take rowwisemeanof two columns.You can use
rowwisewithc_acrossbut it is going to be inefficient thenrowMeans.