1030 chapter13 & 14

不要使用管道的情况

  • 操作步骤超过10个
  • 多个输入和输出
  • 操作步骤构成有复杂依赖关系的有向图

其他工具

  • tidyverse中所有包都会自动加载%>%
  • %T>% 返回左侧想
  • %<>% 可以进行赋值操作

创建函数

  • 选择函数名称
  • 列举function中所有参数
  • 将编好的代码放入函数体中

p188 练习题

  1. finite = TRUE 会丢失无限元素
    若na.rm值是FALSE,则所有有关NA的操作都会返回NA
 rescale01 <- function(x) {
  rng <- range(x, na.rm = TRUE, finite = TRUE)
  y <- (x - rng[1]) / (rng[2] - rng[1])
  y[y == -Inf] <- 0
  y[y == Inf] <- 1
  y
}
variance <- function(x, na.rm = TRUE) {
  n <- length(x)
  m <- mean(x, na.rm = TRUE)
  sq_err <- (x - m) ^ 2
  sum(sq_err) / (n - 1)
}
both_na <- function(x, y) {
  sum(is.na(x) & is.na(y))
}
both_na(c(NA, NA,  1, 2),
        c(NA,  1, NA, 2))
 [1] 1
both_na(c(NA, NA,  1, 2, NA, NA, 1),
        c(NA,  1, NA, 2, NA, NA, 1))
 [1] 3
  1. is.directory主要用来检查x是否是路径
    is.readable用来检查x是否可读

人与函数

命名原则

  • snake_case,小写单词,用下划线隔开
  • camelCase,首单词小写,其余首字母大写
  • 功能类似的命名具有一致性

p190练习题

  1. f1 检查是否是字符向量
    f2 去掉向量中的最后一个,drop_last()
    f3 为每个x重复一次y recycle
  2. rnorm() 单变量正态分布
    MASS:mvrorm 多变量正态分布
  3. r* functions always sample from distributions: for example, rnorm(), rbinom(), runif(), and rexp().
    d* functions calculate the probability density or mass of a distribution: For example, dnorm(), dbinom(), dunif(), and dexp().

条件执行

if(condition){

wei=

推荐阅读更多精彩内容

  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 8,423评论 0 39
  • pdf下载地址:Java面试宝典 第一章内容介绍 20 第二章JavaSE基础 21 一、Java面向对象 21 ...
    王震阳阅读 89,229评论 26 538
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 5,561评论 0 8
  • 奶奶家的楼梯上 儿子:我想买个面包吃 我:你想买个面包吃 儿子:恩 儿子开始加快爬楼梯的步伐 我的内心:天那,真的...
    桃夭和其华阅读 84评论 2 0
  • http://blog.csdn.net/lianbaixue/article/details/10579117
    TsingQue阅读 41评论 0 1