dart 怎么判断function的返回值为空_R 学习-第二章第二节- 尝试写个Function,超级菜鸟教程...

现在我们来尝试写几个Function

  • 第一个是超简单的功能(Function),就是让两个数相加,我们把这个功能取个名字叫 add2。 (步骤1-3)
  • 第二个稍微复杂一点,写一个功能,使我们取出某个vector里面所有大于n的值,同时,设置n 默认为10。(步骤4-7)
  • 第三个再复杂一点,是要在dataframe中计算每一列的均值。

我的是在苹果电脑上运行的R studio,所以和windows下的界面会有一点不一样~

  1. 打开R studio,在左上角写script的位置新开一个文档开始写function

a571afa9f62c342ff5ab0a8d94c091aa.png

2. 在左上角的代码区输入下面的代码,点击运行

add2 <- function(x,y){
    x+y
}

8a123470276fc1267e380fd58ec0f4d2.png

3. 在第二步点击运行后,在左下角写个,输入后就会得到返回值 7。第一个功能就写好啦,大家可以随意更改括号里的两个数字。

add2(2,5)

fb0b26ab6d8c5c93f60e5ae8c867baaf.png

4. 第二个Function,我们取名叫above,代码如下,意思是在 x 当中取出大于 n的所有的数字

above <- function(x,n){
    use <- x>n     ## 设定一个逻辑判断
    x[use]          ## 在x中取符合上面逻辑判断的值
}

5. 在运行完这个代码后,我们可以先定义一个x,为1到20的所有的数

然后输入above(x,10),就得到结果啦~

646882c4954cd8685d117aede0f44850.png

6. 为了设置n的默认值,我们把第四步的代码做一点小修改

above <- function(x,n=10){
    use <- x>n     ## 设定一个逻辑判断
    x[use]          ## 在x中取符合上面逻辑判断的值
}

7. 在设置完默认值后,不用输入n也能得到大于10的值。但如果想得到大于14的值,则还是要在function中定义n为14

3e102eec13e4829e26f8f1de3d1d9497.png

8. 最后要写的function是要在dataframe中计算每一列的均值。这个功能我们命名为columnmean。写完后运行这些代码

columnmean <- function(x, removeNA=TRUE){  ## removeNA=TRUE表示默认去掉缺失值NA
    nc <-ncol(x)              ## 用ncol找到x中的列数,赋值给nc
    means <- numeric(nc)      ## 设置一个储存均值的向量叫means,means的长度等于nc
    for(i in 1:nc){           ## 开始循环,从第一列循环到最后一列
        means[i]<- mean(x[,i], na.rm=removeNA)     ##x中的每一列去均值,赋值给means[i]
    }
    means       ##在完成最后一个循环后,输出均值
}

9. 现在,用columnmean功能选取 airquality 这个dataframe里每列的均值,并在计算时去掉缺失值。但如果我们不想去掉缺失值,则在function中加上FALSE。

69211381ec4a3dd87fccdaa8f2d41fa7.png

那这三个功能就写好啦,保存好后,后续可以调用这些功能,这样就不用每次都单独把代码写一遍了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值