使用 "ifelse" 和/或 "unite" 将 3 个变量中的数据合并为一个 R 变量



我的目标是将当前呈现在三个变量中的信息组合为一个变量,以创建一个";整洁的";数据集。

数据框架有三个变量,表示一个物种的饮食类型:食肉动物、草食动物和杂食动物。数据表示为";"是";或";NA";,其中";"是";用于表示饮食类型;NA";对于物种不是的两种类型。我希望创建一个新的变量";饮食类型";其本质上是数字(0,1,2(或者是字符向量"0";食肉动物"Herbivore"Omnivore";使用ifelse函数,但在尝试运行代码时仍然会出现错误。

animal_dersity_raw%>%突变(animal_dersity_raw,饮食=如果其他(食肉动物="是";和草食动物="NA","1"(,否则(食肉动物="NA"和草食动物="YES"、"2"(,如果其他(食肉动物="是"和杂食动物="NA","3"(

错误为:ifelse中的错误(animal_dersity_raw$Carnivore="是";&animal_divity_raw$草食动物==:论点";否";缺少,没有默认

感谢您的真知灼见!

问题是嵌套的ifelse右括号应该在的末尾

animal_diversity_raw %>%
mutate(diet= ifelse(Carnivore== "YES" & Herbivore== "NA", "1", 
ifelse(Carnivore== "NA" & Herbivore== "YES", "2", 
ifelse(Carnivore== "YES" & Omnivore== "NA", "3"))))

注意:这里,我们假设缺失的值为字符串"NA"。通常,它会被取消引用,并且可以用is.na进行检查

最新更新