在R语言中,ifelse()函数可以认为是紧凑的if...else结构。
其基本语法格式如下:
if(con,statement1,statement2)
con是逻辑条件,当逻辑条件的值为TRUE时,则输出statement1的值,否则输出statement2的值。
举例1:
x<-3
y<-ifelse(x>0, 2*x-1, 2*x) #含义是如果x是个大于0的值,则输出值为2*x-1的计算值,否则为2*x的计算值。
举例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) #可以处理NA值,如果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))
执行结果如下图所示:
新闻热点
疑难解答