> f =function(x) {x[2] <- "!!" ;x}
x" "x" "x1" "x2" "x3" "y"
090170e-01 9.
对于条件语句是向量形式,R提供了ifelse()函数,它的使用格式为
> a <- switch (2, 2+2, mean(1:10), rnorm(4)); a
例 考虑一个简单的 存取款系统
> x = numeric(365)
(3) 有缺失数据矩阵的插补。
Your balance is", total, "\n\n");
可理解性(understandability).
其中arg是函数的参数(自变量);
行前缩进,使程序有层次感。
的多重判断结构表示多分支。
510565e-01 1.
要求: 编写通用函数,然后对不同的矩阵调用输出相应的结果,比如
设一个班有n个人,当n大于365时至少两个人生日相同是必然事件。
y=numeric(length(x));y[x>1]=x[x>1]^2+1;
• 在用R编程序时一定要时刻牢记R是一个向量语言,几
乎所有操作都是对向量进行的。而R中的if语句却是一
个少见的例外,它的判断条件是标量的真值或假值。比
如,我们要定义一个分段函数f(x),当x为正时返回1,
否则返回0,马上可以想到用if语句实现如下:
>if(x>0) 1 else 0
• 当x是标量时这个定义是有效的,但是当自变量x是一个
向量时,比较的结果也是一个向量,这时条件无法使用
。所以,这个分段函数应该这样编程:
>y= numeric(length(x))
>y[x>0] <- 1
>y[x<=0] <- 0 # 这句可以省略