【问题标题】:Save and Export into Stata using R tidyverse [closed]使用 R tidyverse 保存并导出到 Stata [关闭]
【发布时间】:2021-01-27 23:32:49
【问题描述】:

我有下面的代码,我将数据集作为Stata文件导入

library(haven)
> LMI_MENA <- read_dta("Impact on Employment/LMI_MENA.dta")

然后进行下面的数据整理:

LMI_MENA %>%
  pivot_longer(fem_unemployment:male_emp, names_to = "names", values_to = "values") %>%
  mutate(Gender = case_when(
    str_detect(names, "fem") ~ "Female",
    str_detect(names, "male") ~ "Male",
    TRUE ~ "Total"
  )) %>%
  mutate(names = case_when(
    names %in% c("fem_unemployment", "male_unemployment", "urate") ~ "Unemployment",
    names %in% c("lfprate", "female_lfp", "male_lfp") ~ "LaborForceParticipation",
    names %in% c("fem_emp", "male_emp") ~ "Employment"
  )) %>%
  pivot_wider(names_from = "names", values_from = "values")

我尝试保存编辑后的数据集并将其直接导出到Stata

DF <- data.frame
      write.dta(LMI_MENA, file="LMI_MENA_long.dta")

但是,虽然它正确导出,但它不会显示从上面的数据争吵中新创建的变量。保存然后导出到 Stata、csv 等的最佳方法是什么?

【问题讨论】:

    标签: r tidyverse data-manipulation


    【解决方案1】:

    如果您提供一个可重现的示例,将会有所帮助。看来您刚刚将原始 Stata 文件保存回 Stata,因为您没有将具有新变量的数据集分配给 R 对象。

    在代码的第一行LMI_MENA %&gt;% 之前,添加LMI_MENA &lt;- LMI_MENA %&gt;%

    LMI_MENA <- LMI_MENA %>%
      pivot_longer(fem_unemployment:male_emp, names_to = "names", values_to = "values") %>%
      mutate(Gender = case_when(
        str_detect(names, "fem") ~ "Female",
        str_detect(names, "male") ~ "Male",
        TRUE ~ "Total"
      )) %>%
      mutate(names = case_when(
        names %in% c("fem_unemployment", "male_unemployment", "urate") ~ "Unemployment",
        names %in% c("lfprate", "female_lfp", "male_lfp") ~ "LaborForceParticipation",
        names %in% c("fem_emp", "male_emp") ~ "Employment"
      )) %>%
      pivot_wider(names_from = "names", values_from = "values")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-30
      • 2020-07-02
      • 1970-01-01
      • 2019-01-19
      • 1970-01-01
      • 2019-04-24
      相关资源
      最近更新 更多