【发布时间】:2020-12-07 10:09:52
【问题描述】:
我试图使用cross来取某些列的平均值,但出现了问题 为我使用的平均值的每一列创建新的不同列。 它工作正常吗?
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))
在小插图中它显示了这个例子:
df %>% mutate_at(vars(c(x, starts_with("y"))), mean)
# ->
df %>% mutate(across(c(x, starts_with("y")), mean, na.rm = TRUE))
我希望在每种使用 NA 的情况下,它都会产生 NA 而不是另一列。
【问题讨论】:
-
这是一个答案吗?因为我没有看到和区别。
-
也许我不清楚。我最终希望有一个名为“two”的新列,其中我将获得其他两列的平均值