如何在 r 中编写嵌套的 if else 语句(附示例)
基础 R 中的ifelse()函数可用于编写快速的 if-else 语句。该函数使用以下语法:
ifelse(测试,是,否)
金子:
- 测试:逻辑测试
- yes:逻辑测试为 True 时返回的值
- no:逻辑测试为 False 时返回的值
本教程介绍如何使用此函数在 R 中编写 if else 语句以及嵌套 if else 语句,使用以下数据框:
#create data frame df <- data.frame(team = c('A', 'A', 'B', 'B', 'B', 'C', 'D'), points = c(4, 7, 8, 8, 8, 9, 12), rebounds = c(3, 3, 4, 4, 6, 7, 7)) #view data frame df team points rebounds 1 to 4 3 2 to 7 3 3 B 8 4 4 B 8 4 5 B 8 6 6 C 9 7 7 D 12 7
示例 1:如何编写基本的 If else 语句
以下代码显示如何在数据框中创建一个新列,其值基于“team”列的值:
#create new column in data frame df$rating <- ifelse (df$team == ' A ', ' great ', ' bad ') #view data frame df team points rebounds rating 1 A 4 3 great 2 A 7 3 great 3 B 8 4 bad 4 B 8 4 bad 5 B 8 6 bad 6 C 9 7 bad 7 D 12 7 bad
这个简单的 ifelse 语句告诉 R 执行以下操作:
- 如果球队栏中的值为“A”,则给予该球员“优秀”评级。
- 否则,就错过了“可怜”的球员。
示例 2:如何编写嵌套的 If Else 语句
以下代码显示如何通过编写嵌套的 if else 语句在数据框中创建新列:
#create new column in data frame df$rating <- ifelse (df$team == ' A ', ' great ', ifelse (df$team == ' B ', ' OK ', ' bad ')) #view data frame df team points rebounds rating 1 A 4 3 great 2 A 7 3 great 3 B 8 4 OK 4 B 8 4 OK 5 B 8 6 OK 6 C 9 7 bad 7 D 12 7 bad
这个嵌套的 ifelse 语句告诉 R 执行以下操作:
- 如果球队栏中的值为“A”,则给予该球员“优秀”评级。
- 否则,如果球队列中的值为“B”,则为该球员评分为“OK”。
- 否则,就错过了“可怜”的球员。
示例 3:如何编写更长的嵌套 If else 语句
以下代码演示了如何通过编写更长的嵌套 if else 语句在数据框中创建新列:
#create new column in data frame df$rating <- ifelse (df$team == ' A ', ' great ', ifelse (df$team == ' B ', ' OK ', ifelse (df$team == ' C ', ' decent ', ' bad '))) #view data frame df team points rebounds rating 1 A 4 3 great 2 A 7 3 great 3 B 8 4 OK 4 B 8 4 OK 5 B 8 6 OK 6 C 9 7 decent 7 D 12 7 bad
这个嵌套的 ifelse 语句告诉 R 执行以下操作:
- 如果球队栏中的值为“A”,则给予该球员“优秀”评级。
- 否则,如果球队列中的值为“B”,则为该球员评分为“OK”。
- 否则,如果球队栏中的值为“C”,则给予该球员“体面”评级。
- 否则,就错过了“可怜”的球员。
请注意,您可以使用此精确模式来编写嵌套的 ifelse 语句,只要您愿意。
您可以在此处找到更多 R 教程。