系统自学R的第二天#参考书籍《R语言编程艺术》

系统自学R的第二天#参考书籍《R语言编程艺术》

*** 函数入门***
R语言编程的核心是编写“函数”,函数就是一组指令的集合,用来读取输入、执行计算、返回结果。

  • oddcount()------计算整数向量中奇数的个数。
  • 以下就是一个例子
  • `#count the number of odd integers in x
> oddcount<-function(x) {
 +   k<-0   #assign 0 to k
 +    for (n in x)  {
 +         if(n %% 2==1) k<-k+1  #%% is the modulo operator
 +    }
 +   return(k)
 + }
>oddcount(c(1,3,5))
[1] 3

+代表现在还在定义函数。即加号是续行符,不是新输入的提示符。
在R中取余数的运算符是%%,
例如:
> 38%%7 [1] 3

奇数还是偶数

要理解什么是形式参数,什么是实际参数

变量的作用域
只有在函数体内部可见的变量对这个函数来说是“局部变量”,在oddcount()中,k和n都是局部变量。它们在函数返回值以后就被撤销了
以下是一个例子:

> oddcount(c(1,3,5,9))
[1] 4
> n
Error: object 'n' not found

值得注意的是,R函数中的形式参数是局部变量

全局变量是在函数之外创建的变量,在函数内部也可以访问
以下是一个例子

> f<-function(x)return(x+y)
> y<-3
> f(5)
[1] 8
``
这里的y就是**全局变量**
可以用R的“超赋值运算符”<<-在函数内部给全局变量赋值,将在后面学习。

***默认参数***
R语言也经常用到“默认参数”。考虑下面这样的函数定义:

```r
>g<-function(x,y=2,z=T)

如何没有在函数调用时给y设定一个值,则将y初始为2。同理,z也有默认值TRUE。下面考虑下面的调用:

>g(12,z=FALSE)

这里,数值12是x的实际参数,我们接受了y的默认值2,不过覆盖了z的默认值,将其设定为FALSE,(这里不理解,什么叫 覆盖)

打不了字了,真是累

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值