группы в r (данные по жилью) - PullRequest
0 голосов
/ 28 января 2020

У меня есть набор данных жилья, который сгруппирован по коду собственности. Это указывает, кто владеет собственностью в любой данный год. Набор данных включает год, код собственности и имя владельца. Он также включает в себя двоичную переменную под названием «изменение», которая указывает, изменился ли владелец свойства.

Я хочу провести l oop через каждую группу свойств, чтобы найти, когда происходит смена владельца (change = 1). Когда он находит смену владельца, он должен создать новый набор данных, в котором один столбец имеет имя старого владельца, а другой столбец - имя нового владельца.

Цель этого состоит в том, чтобы в конечном итоге провести анализ того, меняется ли пол или этническая принадлежность владельца. Я использую пакеты wru и пола, и собирался сравнить старого владельца с новым после того, как были идентифицированы оба.

Я очень новичок в R и буду рад, если кто-нибудь сможет мне помочь в этом ,

property_changes <- dataset[,c(1,2,3,10)]
change_col_names <- c("year","change", "property", "name")
colnames(property_changes) <- change_col_names
groups <- group_by(property_changes, property_changes$property)

образец набора данных

1 Ответ

1 голос
/ 28 января 2020

Добро пожаловать в R. Я настоятельно рекомендую вам взглянуть на пакет «dplyr» с функцией recode (), вместо того, чтобы зацикливаться, мы можем создать новый столбец с «да» или «нет», если владелец свойство изменилось, это может позволить вам извлекать только те строки, в которых владение изменилось путем фильтрации. Я создал простой пример для объяснения.

library(dplyr)

year = seq(2000, 2009, 1)
change = c(0,0,0,0,1,0,1,0,0,0)
owner = (c("bob", "bob", "bob", "bob", "alice", "alice", "lisa", "lisa", "lisa", "lisa"))
 prop <- data.frame(year, change, owner)


prop %>% 
  group_by("owner") %>% 
  mutate(change_in_ownership=recode(change, 
             `0`="No",
             `1`="yes")) %>% 
  filter(change_in_ownership == 'yes')

, где мой вывод после фильтрации:

year change owner `"owner"` change_in_ownership
  <dbl>  <dbl> <fct> <chr>     <chr>              
1  2004      1 alice owner     yes                
2  2006      1 lisa  owner     yes  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...