Создать новый столбец, который предоставляет информацию, относящуюся к другим строкам - PullRequest
0 голосов
/ 05 июня 2019

Как вы можете создать новые столбцы, которые показывают (1) сколько человек в семье есть в возрасте до 18 лет и (2) сколько людей в семье старше 18 лет.

Пример стартовой матрицы

Я попытался использовать команду dplyr spread, и у меня было несколько циклов, но безрезультатно.

Код для примера кадра данных:

    df<- data.frame(FamilyID=c(100,100,100,101,101,102,103,103), 
name=c("Jason", "Masha", "Eamonn", "Leslie", "Dominic", "Carie", 
"William", "Stacy"), 
age=c(14,23,45,6,54,2,58,78), 
sex=c("m","f","m","f","m","f","m","f"))

Это должно выглядеть примерно так

1 Ответ

1 голос
/ 05 июня 2019

Простое mutate должно сделать трюк:

df %>% group_by(FamilyID) %>%
  mutate(over18 = sum(age>18), under18 = sum(age<18))

Имейте в виду, что он не считает никого точно из 18.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...