【发布时间】:2021-08-07 10:15:58
【问题描述】:
小伙伴们,
我有以下数据框。
obj <- data.frame (occ= c(1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4),
Date = c("1990-01", "1990-01", "1990-01", "1990-01", "1990-02", "1990-02", "1990-02", "1990-02", "1990-03", "1990-03", "1990-03", "1990-03", "1990-04", "1990-04", "1990-04", "1990-04"),
emp_value = c(33, 0, 55, 44, 0, 50, 70, 80, 91, 32, 32, 22, 11, 31, 42, 51)
)
我想做以下事情:
我想生成一个变量,它获取不同日期之间每个唯一职业 (occ) 的 emp_value 差异。
我想要的数据框是
obj <- data.frame (occ= c(1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4),
Date = c("1990-01", "1990-01", "1990-01", "1990-01", "1990-02", "1990-02", "1990-02", "1990-02", "1990-03", "1990-03", "1990-03", "1990-03", "1990-04", "1990-04", "1990-04", "1990-04"),
emp_value = c(33, 0, 55, 44, 0, 50, 70, 80, 91, 32, 32, 22, 11, 31, 42, 51),
emp_diff = c(0, 0, 0, 0, -33, 50, 15, 36, 91, -18, -38, -48, -69, -70, -1, 10)
)
请注意,我的真实数据框包含数千个值和数百个不同的职业。此外,并非每个职业都出现在每个日期内。
非常感谢!
【问题讨论】:
-
如果缺少一个日期会怎样?你的 data.frame 是按日期排序的吗?
-
是的,它是按日期排序的。只有日期内的职业(变量 occ)才能丢失。
标签: r