【发布时间】:2021-04-21 10:31:22
【问题描述】:
我有一张关于一些人的居住地和职业的表格。我想知道从事某些职业的人是否比其他人更有可能搬迁。纵向数据如下所示:
library(tidyverse)
id <- c(rep(1, 6), rep(2, 6), rep(3, 6))
year <- c(rep(1990:1995, 3))
occupation <- c(rep("Barrister", 6), rep("Telephone salesman", 3), rep("Baker", 3), rep("Janitor", 2), rep("Builder", 4))
residence <- c(rep("London", 2), rep("Manchester", 2), rep("Glasgow", 2), rep("London", 6), rep("Liverpool", 4), rep ("Luton", 2))
df <- tibble(id, year, occupation, residence)
我想重新排列表格,使其采用生命表格式。此外,我想创建两个新变量:一个虚拟变量,用于表示个人是否在 x 年后搬迁(= 事件发生)或个人是否在 x 年后没有搬迁(= 事件被右删失),以及如果个人改变职业,则一个变量包含有关先前所从事职业的信息。我希望表格看起来像这样:
id2 <- c(rep(1, 3), rep(2, 2), rep(3, 3))
years <- c(2, 2, 2, 3, 3, 2, 2, 2)
occupation2 <- c(rep("Barrister", 3), rep("Telephone salesman", 1), rep("Baker", 1), rep("Janitor", 1), rep("Builder", 2))
residence2 <- c(rep("London", 1), rep("Manchester", 1), rep("Glasgow", 1), rep("London", 2), rep("Liverpool", 2), rep ("Luton", 1))
relocated <- c(1,1,0,0,0,0,1,0)
experience <- c(rep(NA, 3), rep(NA, 1), rep("Telephone salesman", 1), rep(NA, 1), rep("Janitor", 2))
life.table <- tibble(id2, years, occupation2, residence2, relocated, experience)
我完全不确定如何实现这一点,任何建议都将不胜感激!
【问题讨论】:
-
预期输出是否正确。
relocated列的值不清楚 -
如果这个人在下一次观察中住在一个新的位置,那么这个想法是让 relocated = 1。有没有发现任何错误?
标签: r tidyverse data-wrangling