R

R Cheat Sheet (6): Subsetting Vectors

本节的主要内容是所指定的条件,从一个矢量中取出想要的元素。 1. 使用正整数矢量索引 对于如下的一个矢量: > x [1] 1.1734365 -0.6219365 NA NA -0.0639205 0.6324963 NA NA -0.3065296 [10] -0.5687445 -0.4932911 NA NA NA NA 0.4575920 NA 1.5744094 [19] NA …
Read more

R Cheat Sheet (5): Missing Values

在统计和数据分析中,丢失的值也具有重要的作用。不能简单地忽视这些丢失的值,而是要仔细分析,查找这些值丢失的原因,以及之它们之间所隐含的模式。 1. NA 在R中,用NA 来表示不可用(not available)或者丢失(missing)的值。任何涉及NA 的运算,结果都是NA ,例如: > x <- c(44, NA, 5, NA) > x * 3 [1] 132 NA 15 …
Read more

R Cheat Sheet (4): Vector

  R中的矢量(vector)可以分为两类:原子矢量(atomic vector)和列表(list),前者只包含同一种数据类型,后者则包含多种数据类型。根据所包含的数据类型,atomic vector有数字(numeric)、逻辑(logical)、字符(character)、整数(integer)、和复数(complex)等几类。 1. Numeric vector   Numeric vect…
Read more

R Cheat Sheet (2): Workspace and Files

1. 文件相关 1.1. 获取当前工作目录    使用如下命令获取当前工作目录: > getwd()    将当前工作目录保存到old.dir : > old.dir <- getwd() 1.2. 获取当前工作目录下的文件 > list.files() 或 > dir() 1.3. 建立新文件夹    在当前工作目录下建立一个名为“testdir”的文件夹: &gt…
Read more

R Cheat Sheet (1): Basic Building Blocks

R语言入门系列取材于Swirl Courses的R Programming部分(https://github.com/swirldev/swirl_courses),Swirl交互式的特点不便于查找和参考,在这里以Cheat  Sheet的形式总结出来,便于随查随用。 1. 计算   R可作为交互式的计算器使用,输入表达式即可求值。 > 5 + 7 [1] 12 2. 赋值   R中的赋值操…
Read more

R语言中vapply()和tapply()的用法

  本文通过实例说明R语言*apply()系列中vapply()和tapply()的用法,所用到的数据同R语言中lapply()和sapply()的用法。在http://archive.ics.uci.edu/ml/machine-learning-databases/flags/flag.data下载到flag.data文件,将其导入R: names <- c("name&quo…
Read more

R语言中lapply()和sapply()的用法

  R语言中提供了一系列*apply()的函数,为数据分析中Split-Apply-Combine的策略提供了简洁方便的实现,这些函数的基本工作流程都是首先将数据按照某种规则划分(split)为较小的几部分,然后对各个部分应用(apply)某些操作,再将结果整合(combine)起来。关于Split-Apply-Combine策略的详细内容,可以参考Hadley Wickham的The Split…
Read more

利用R语言词法作用域特性缓存数据

  R语言采用词法作用域(lexical scoping,或称静态作用域static scoping),关于作用域的相关说明可以参考Wiki,这里先举一个例子说明R语言词法作用域的特点。   定义两个函数g() 、f() 以及一个变量z 如下所示: z <- 10 g <- function(x) { x + z } f <- function(y) { z <- 20 g…
Read more