R语言 使用case_when()函数的R Dplyr包中的case when语句
本文主要讨论R编程语言中的case when语句,使用Dplyr包的case_when()函数。
case when 是一种机制,我们可以利用它将一堆if和else if语句矢量化。简单地说,使用case when语句,我们评估一个条件表达式,并在此基础上做出决定。例如,假设我们想检查一个候选人是否有资格投票。 为了解决这个问题,我们可以评估他的年龄,如果大于18岁,我们将允许他投票,否则他就没有资格。
R中的case when
R为我们提供了case_when()函数,使用该函数我们可以在R中实现case when。它等同于SQL中的 “case when “语句。
语法
case_when(expression)
这里。
- expression。它代表一个条件表达式
方法1:在执行case when语句后,使用mutate函数创建一个新变量。
R中的Mutate函数用于添加新创建的变量,同时也保留了现有的变量。
例子
在这个例子中,我们正在创建一个数据框架,其中包含了汽车品牌、名称、价格和税收。现在,在mutate()函数的帮助下,我们正在创建一个额外的列(Price_Status),在评估了case_when()函数中使用的价格后,它将存储字符串字面意义:高、平均和低。
输出
方法2:使用case when语句处理NA
再次查看我们在上面创建的数据框架中的Price列。有些汽车的价格值等于NA。在应用case_when()函数时,必须小心处理这个问题。R为我们提供了is.na()函数,我们可以用它来处理na值。
例子
在这个例子中,我们正在创建一个数据框架,其中包含了汽车品牌、名称、价格和税收。现在,在mutate()函数的帮助下,我们正在创建一个额外的列(Price_Status),在评估了case_when()函数中使用的价格后,它将存储字符串字面:高、平均和低。请注意,对于价格等于NA的汽车,我们将在Price_Status列的相应位置添加 “NIL”。
输出
方法3:在R中使用开关语句
R允许我们使用sapply()与switch语句来构造一个新的变量,该变量可以作为数据框中的一列存在。
例子
在这个例子中,我们创建了一个名为 “Vehicle_Type “的额外列,我们使用sapply()函数和switch语句,对于各个品牌,我们将Vehicle_Type列中相应位置的值标记为 “Car”。
输出
方法4:在向量中使用case_when
R还提供了使用case_when来操作向量的工具。
例子
考虑一下下面的源代码。在这个例子中,我们首先检查向量中的当前值是否能被4整除,如果能被整除,我们就用字符串 “Yes “替换4的倍数。
例子
输出
在向量中使用case_when