R语言学习笔记

《R语言实战》学习笔记---Chapter5(7) 高级数据管理

2023-08-23  本文已影响0人  RSP小白之路

在条件执行结构中, 一条或一组语句仅在满足一个指定条件时执行。 R中的条件执行结构包括if-elseifelseswitch
分别进行说明。

if-else 结构

if-else 结构在某个给定的条件为真时执行语句。也可以在条件为假时执行其他的语句。语法为:

if (cond) statement
if (cond) statement1 else statement2

试举一例:

> wd <- "high"
> if(is.character(wd)) grade <- as.factor(wd) else print("wd is not character.")
> wd
[1] "high"
> wd <- 1
> if(is.character(wd)) grade <- as.factor(wd) else print("wd is not character.")
[1] "wd is not character."

如果后面的语句占用多行,则可以加上大括号

> wd <- 1
> if(is.character(wd)) {
+   grade <- as.factor(wd) } else { 
+     print("wd is not character.") }
[1] "wd is not character."

ifelse 结构

ifelse 结构是if-else结构比较紧凑的向量化版本, 其语法为:

ifelse(cond, statement1, statement2)

statement1cond条件为时执行的语句,statement2cond条件为时执行的语句。

> dt <- NULL
> dt$pvalue <- c(0.05, 0.07, 0.12, 0.15)
> dt$change <- ifelse(dt$pvalue >= 0.1, "High", "Down")
> dt
$pvalue
[1] 0.05 0.07 0.12 0.15

$change
[1] "Down" "Down" "High" "High"

输出为向量
上面的例子解释一下,条件是pvalue是否大于等于0.1,如果为真时change值为High,为假时change值为Down

switch 结构

switch根据一个表达式的值选择语句执行。 语法为:

switch(expr, ...)

直接引用书中的例子吧,能够很典型地说明switch函数的用法。

> feelings <- c("sad", "afraid")
> for (i in feelings)
+   print(
+     switch(i,
+            happy = "I am glad you are happy",
+            afraid = "There is nothing to fear",
+            sad = "Cheer up",
+            angry = "Calm down now"
+     )
+   )
[1] "Cheer up"
[1] "There is nothing to fear"
上一篇 下一篇

猜你喜欢

热点阅读