条件语句
避免除零或负数的对数等数学问题
形式1
if (条件) 表达式1 else 表达式2
if (条件) 命令1 else 命令2
形式2
ifelse (条件, yes, no)
形式1
x=-4:6
if(x >0) sqrt(x) else NA
[1] NA
Warning message:
In if (x > 0) sqrt(x) else NA : 条件的长度大于一,因此只能用其第一元素
!判断时,仅拿第一元素判断,成立则进行后面的条件运算
y=4:6
if(y>0) sqrt(y) else NA
[1] 2.000000 2.236068 2.449490
Warning message:
In if (y > 0) sqrt(y) else NA : 条件的长度大于一,因此只能用其第一元素
形式2
x=-4:6
ifelse(x>0, sqrt(x), NA)
[1] NA NA NA NA NA 1.000000 1.414214 1.732051
[9] 2.000000 2.236068 2.449490
Warning message:
In sqrt(x) : 产生了NaNs
!使用所有元素进行条件运算
y=4:6
ifelse(y>0, sqrt(y) , NA)
[1] 2.000000