访问r的mutate函数中的所有未知列

时间:2019-09-30 18:13:28

标签: r mutate

  df <- tibble::tribble(  ~sev_curve, ~curve_type,  ~trend_date, ~weight,
                          "MILO",  'HOSPITALS',   '7/1/2020',      0.4,
                          'ALSO',  'PHYSICIANSC', '7/1/2020',      0.6)


df %>% mutate(new_column=#calls function on all columns of df)

因此,以上内容大致就是我所需要的。 df data.frame可以具有许多不同的列,下一行代码可能不知道。但是它需要在所有这些列上调用一个函数来创建一个新列。

如何在mutate函数中访问df中的所有列?

1 个答案:

答案 0 :(得分:2)

我们可以使用mutate_at

library(dplyr)
df %>%
   mutate_at(vars(-one_of(c("sev_curve", "weight"))), list(new = ~ n_distinct(.)))
# A tibble: 2 x 6
#  sev_curve curve_type  trend_date weight curve_type_new trend_date_new
#  <chr>     <chr>       <chr>       <dbl>          <int>          <int>
#1 MILO      HOSPITALS   7/1/2020      0.4              2              1
#2 ALSO      PHYSICIANSC 7/1/2020      0.6              2              1

或者没有one_of

df %>%
   mutate_at(vars(-c("sev_curve", "weight")), list(new = ~ n_distinct(.)))
相关问题