R - отношение переменной дихотомии к почтовому индексу, сгруппированной по почтовому индексу в новый df - PullRequest
0 голосов
/ 04 ноября 2018

Я новичок в R и столкнулся с проблемами.

У меня есть фрейм данных с предметами города, почтовым индексом, в котором они живут, и их результатом (0, 1).

id <- 1:5000
zip <- sample(100:200, 5000, replace = TRUE)
outcome <- rbinom(5000, 1, 0.23)
df <- data.frame(id, outcome, zip)

abs <- table(df$zip, df$outcome)
ratio <- round(prop.table(abs, 1), 2)

С помощью «abs» я получаю абсолютные числа каждого результата по каждому результату и почтовый индекс.

При использовании «коэффициента» я получаю процент за каждый результат по каждому ZIP-коду, а сумма обоих столбцов результатов будет равна 1.

Мои вопросы: A: Как мне получить процент только для одного из результатов в таблицу за ZIP-код,

и B: Как я могу создать фрейм данных, сгруппированный только в виде ZIP-кодов с одним соотношением результатов, созданных в таблице ранее (или напрямую). 100 строк почтовых индексов и только одно соотношение на почтовый индекс.

1 Ответ

0 голосов
/ 04 ноября 2018

Вот мой ответ с использованием Tidyverse. По сути, мы можем сгруппировать наблюдения по zip, а затем суммировать, взяв среднее. Поскольку единственными возможными результатами являются 0 и 1, среднее дает нам долю 1 с.

library(tidyverse)
set.seed(1) ##I set a seed, just to ensure reproducibility 
id <- 1:5000
zip <- sample(100:200, 5000, replace = TRUE)
outcome <- rbinom(5000, 1, 0.23)
df <- data.frame(id, outcome, zip) %>% as_tibble()


new_df <- df %>% group_by(zip) %>% summarise(ratio = mean(outcome))
new_df
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...