Добро пожаловать в 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