如何提取各国变量最新可用值绘制儿童死亡率与童工率散点图
实现方法
你可以直接用dplyr的分组筛选逻辑完成提取,不需要额外调用特殊函数,示例代码如下:
library(dplyr) # 步骤1:分别提取两个指标每个国家的最晚有效值 # 提取儿童死亡率最晚有效值 mortality_newest <- data2 %>% filter(!is.na(mortality)) %>% # 过滤掉死亡率为空的行 group_by(Entity) %>% # 按国家分组 arrange(desc(Year)) %>% # 组内按年份倒序排列 slice(1) %>% # 取组内第一行即最晚年份记录 ungroup() %>% select(Entity, Code, mortality, mortality_year = Year) # 提取童工率最晚有效值 labor_newest <- data2 %>% filter(!is.na(labor)) %>% # 过滤掉童工率为空的行 group_by(Entity) %>% arrange(desc(Year)) %>% slice(1) %>% ungroup() %>% select(Entity, labor, labor_year = Year) # 步骤2:合并两个表,得到同时有两个指标有效值的样本 plot_data <- inner_join(mortality_newest, labor_newest, by = "Entity")
得到的plot_data就可以直接用来绘制散点图,你也可以额外核对两个指标对应的年份差,确认是否在你可接受的合理范围内,避免数据可比性问题。
内容的提问来源于stack exchange,提问作者Gaspar
相关产品推荐
相关产品推荐

