ifelse(x <=1, x^2, sqrt(x))
##or
ifelse(x <=1, x^2,x^0.5)
##那个ifelse语句可以表示为下面向量的形式
ans <- NULL ##or ans <- x <=1
ans[x<=1] = rep(x^2,length.out=length(x<=1))[x<=1]
ans[!x<=1] = rep(x^0.5,length.out=length(x<=1))[!x<=1]
ans
##再看看 rep(x^0.5...当x<0,x^0.5有NaN,不警告, 而sqrt(x),会警告,本质没有区别。
rep(x^0.5,lenght.out=length(x<=1))
##or
rep(sqrt(x),length.out=length(x<=1))
###具体看 ifesle 代码。感觉ifelse 的效率不会比 常用的 if .. else...效率高。
###新年第一帖,认真图个吉利。大家马年吉祥。