Case_when 函数将列中的新变量保存到现有 df

问题描述 投票:0回答:1

我正在使用 case_when 函数对现有变量进行重新分类,该变量允许最多 6 个种族选择。根据确定的逻辑,我将这些种族重新分类到一个新变量(new_racecat)中,该变量仅显示一个种族选择。我已经粘贴了代码的第一部分,语法有效并且代码完全运行。我遇到的问题是,当我查看 df (View(Racedata) 时,这个新变量没有出现。如何将此新变量保存到现有数据框中的新列中?

Racedata %>% 
  separate(col = "Race", into = c("race1", "race2", "race3", "race4", "race5", "race6"), sep = ";") %>% 
             mutate(new_racecat = case_when(race1 == "Native Hawaiian (Including Part-Hawaiian)" | 
                                           race2 == "Native Hawaiian (Including Part-Hawaiian)" | 
                                           race3 == "Native Hawaiian (Including Part-Hawaiian)" | 
                                           race4 == "Native Hawaiian (Including Part-Hawaiian)" |
                                           race5 == "Native Hawaiian (Including Part-Hawaiian)" | 
                                           race6 == "Native Hawaiian (Including Part-Hawaiian)" ~ "Native Hawaiian",
r statistics case
1个回答
0
投票

管道操作员(

%>%
)仅将您的
Racedata
输入到操作中。它不会保存它。您可以像 @RonakShah 评论的那样执行此操作,但您可以加载
magrittr
并在每次进行管道传输时使用
%<>%
而不是
%>%
,以便保存输出。

© www.soinside.com 2019 - 2024. All rights reserved.