R语言中ifelse函数可以完成类似的if...else的分支功能,可以认为是紧凑的if...else结构。但在简单的分支情况下,其比if...else结构还要灵活。其基本语法格式如下:
if(con, statement1, statement2)
con是逻辑条件,当逻辑条件的值为TRUE时,则输出statement1的值,否则输出statement2的值。
第一个例子:
x<-3
y<-ifelse(x>0, 2*x+1, 2*x-1)
其执行的过程是,若x是个大于0的值,则输出2*x+1的值,否则为2*x - 1的值。
第2个例子:
x<-c(1,0,1,0,1,1,0,0)
y<-ifelse(x != 0, 0, 1)
如果向量x中的元素值不为0则输出0,否则输出1
第3个例子:
x<-c(1,NA,NA,12,34)
y<-ifelse(is.na(x),0,x)
其作用是:若x中有NA值,则使用0来代替
第4个例子:ifelse可以嵌套使用
x<-c(3,10,0,-1,-10)
y<-ifelse(x > 0, 2 * x - 1, ifelse(x==0, 0, 3*x-10))
执行结果如下图所示:
欢迎关注本号,本号将持续更新R语言方面的文章,内容由浅入深,由基本语法到具体的数据分析应用。
本文暂时没有评论,来添加一个吧(●'◡'●)