如何使用mutate和if-else语句在r中添加另一列?
我有一个大的csv文件,我一直在试图编辑。我一直在尝试创建一个名为“种族”的新专栏。目前有一个名为“衍生种族”的专栏,其中包含多个种族,包括白人、黑人或非裔美国人、亚洲人、联合人等。我需要将衍生种族类别划分为白人、黑人和其他种族。我尝试使用mutate添加另一列,我使用的代码如下所示:如何使用mutate和if-else语句在r中添加另一列?,r,R,我有一个大的csv文件,我一直在试图编辑。我一直在尝试创建一个名为“种族”的新专栏。目前有一个名为“衍生种族”的专栏,其中包含多个种族,包括白人、黑人或非裔美国人、亚洲人、联合人等。我需要将衍生种族类别划分为白人、黑人和其他种族。我尝试使用mutate添加另一列,我使用的代码如下所示: mutate(selected_public_2018_lar,Race = if (derived_race == 'White'){ print("White") } else if (
mutate(selected_public_2018_lar,Race = if (derived_race == 'White'){
print("White")
} else if (derived_race == 'Black or African American'){
print("Black")
}else {
print("Other")
})
我不断收到如下错误:
mutate(selected_public_2018_lar,Race = if (derived_race == 'White'){
print("White")
} else if (derived_race == 'Black or African American'){
print("Black")
}else {
print("Other")
})
错误:mutate()
输入.1
有问题。
x输入.1
无法回收到2316993大小。
ℹ 输入.1
已被选中\u public\u 2018\u lar。
ℹ 输入.1
的大小必须为2316993或1,而不是179666
提前感谢您的帮助 如果我们想在data.frame中创建一列,我们可以在
If/else
或case\u时使用If/else
作为If/else
未矢量化且打印
仅用于打印值
library(dplyr)
selected_public_2018_lar <- selected_public_2018_lar %>%
mutate(Race = case_when(derived_race == 'Black or African American' ~ 'Black',
derived_race == 'White' ~ White', TRUE ~ "Other"))
或使用重新编码
selected_public_2018_lar %>%
mutate(Race = recode(`Black or African American` = 'Black',
'White' = 'White', .default = 'Other'))
如果我们想在data.frame中创建一列,我们可以使用ifelse
或case\u当asIf/else
未矢量化时,并且print
仅用于打印值
library(dplyr)
selected_public_2018_lar <- selected_public_2018_lar %>%
mutate(Race = case_when(derived_race == 'Black or African American' ~ 'Black',
derived_race == 'White' ~ White', TRUE ~ "Other"))
或使用重新编码
selected_public_2018_lar %>%
mutate(Race = recode(`Black or African American` = 'Black',
'White' = 'White', .default = 'Other'))