нужна помощь в создании функции, чтобы эта функция могла производить сводную статистику, соединенную обратно с исходной, но названную в честь столбца (с префиксом (т. е. cyl_event_pct, cyl_distn_events для каждой переменной со значениями соответствующей переменной в фрейме данных). Функция будет требуются входные параметры как для фрейма данных, так и для независимой переменной. В приведенном ниже примере независимой переменной будет mtcars$am
df <- mtcars %>%
select(cyl,gear,vs,am)
df %>%
gather(variable,value, -ncol(df)) %>%
group_by(variable, value) %>%
summarise (n = n(),
n_events = sum(am),
event_pct = round(mean(am),4)
) %>%
mutate(distn_events = round(n_events/sum(n_events),4))
Хотел бы добавить event_pct и distn_events в качестве новой переменной в исходный файл df.
# A tibble: 8 x 6
# Groups: variable [3]
variable value n n_events event_pct distn_events
<chr> <dbl> <int> <dbl> <dbl> <dbl>
1 cyl 4 11 8 0.7273 0.6154
2 cyl 6 7 3 0.4286 0.2308
3 cyl 8 14 2 0.1429 0.1538
4 gear 3 15 0 0.0000 0.0000
5 gear 4 12 8 0.6667 0.6154
6 gear 5 5 5 1.0000 0.3846
7 vs 0 18 6 0.3333 0.4615
8 vs 1 14 7 0.5000 0.5385
надеюсь увидеть кадр данных после добавления дополнительных столбцов как cyl_event_pct, cyl_distn_events, gear_event_pct, gear_distn_events в приведенную ниже таблицу со значениями соответствующей переменной в кадре данных (исключая независимую переменную am)
df
cyl gear vs am
Mazda RX4 6 4 0 1
Mazda RX4 Wag 6 4 0 1
Datsun 710 4 4 1 1
Hornet 4 Drive 6 3 1 0
Hornet Sportabout 8 3 0 0
Valiant 6 3 1 0
Duster 360 8 3 0 0
Merc 240D 4 4 1 0
Merc 230 4 4 1 0
Merc 280 6 4 1 0
Merc 280C 6 4 1 0
Благодарю вас в продвинутом вас, владыки вселенной! Джей Ти
char_col
? - person Suren   schedule 07.12.2017