Я работаю над набором данных, содержащим информацию о месте проживания и профессии людей. Первоначально он говорит, что кто-то проживает по адресу от года к году, например, с 1920 по 1925 год. Если человек переехал по этому адресу в 1920 году, существует фиктивная переменная со значением 1. Аналогично, если человек переехал с этого адреса в 1925 году также существует пустышка со значением 1.
Теперь проблема в том, что когда я открою «из года в год», будет значение 1 для всех наблюдения, как перемещенные, так и перемещенные, с 1920 по 1925 г.
Пример данных:
library(tidyr)
library(dplyr)
individual <- c('John Doe','Peter Gynn','Jolie Hope', 'Jolie Hope')
occupation <- c('banker', 'butcher', 'clerk', 'clerk')
first_obs <- c(1920, 1920, 1920, 1925)
last_obs <- c(1925, 1925, 1925, 1926)
moved_in <- c(1, 0, 1, 1)
moved_out <- c(0, 0, 1, 0)
address <- c('king street', 'market street', 'montgomery road', 'princes ave')
df <- data.frame(individual, occupation, address, first_obs, last_obs, moved_in, moved_out)
df$year <- mapply(seq,df$first_obs,df$last_obs,SIMPLIFY=FALSE)
new_df <- df %>%
unnest(year) %>%
select(-first_obs,-last_obs)
Как видите, кажется, что Jol ie Hope, например, перенес и уезжала из своего адреса каждый год между 1920 и 1925 годами, но она должна была приехать в 1920 году и уехать в 1925 году. Есть ли решение для этого?
Кроме того, у меня есть проблемы с дублированными значениями из-за того, что люди въезжают и уходят в одном и том же году. Например, Джол ie Хоуп выехал с Монгомери-роуд в 1925 году и переехал на Принсес-авеню в 1925 году. Я думаю, что лучшим решением было бы использовать только «перемещенный» ряд. Можно ли систематически удалять все «выдвинутые» строки, где есть дублированные значения?