Доступ ко всем неизвестным столбцам в функции мутирования r - PullRequest
2 голосов
/ 30 сентября 2019
  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 может содержать несколько различных столбцов, о которых следующая строка кода может не знать. Но для создания нового столбца необходимо вызвать функцию во всех этих столбцах.

Как получить доступ ко всем столбцам из df в функции mutate?

1 Ответ

2 голосов
/ 30 сентября 2019

Мы можем использовать 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(.)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...