1、R脚本和批处理
启动R默认运行一个交互式的R会话,从键盘接受输入,并从屏幕输出。
当然R也接受脚本执行,使用命令source("script.R")来执行R脚本。
使用sink("outputfile")将文本输出重定向到outputfile;如果文件没有写明具体路径,则表示在当前工作空间下
- 默认情况下,如果文件outputfile存在则内容将会被覆盖;
- 使用参数append=TRUE指明将文本追加到outputfile后;
- 使用参数split=TRUE可将输出同时发送到屏幕和输出文件中;
- 仅仅调用sink()则仅向屏幕返回输出结果。
使用sink()可以重定向文本输出,但对图形输出无效。
若要重定向图像输出,可使用如下函数
一个重定向输出示例:
R批处理:
2、R数据类型和数据结构纵览
R是面向对象的语言。基本上R中的一切都是对象(object)。比如变量、函数、数据集等,都是对象。
1)原子类型
R可以处理的数据类型(或者说模式)有数值型(integer,double),字符型,逻辑型(TRUE,FALSE),复数型,原生字节型
R中最基本的数据类型,或者说原子类型(atomic type)有如下6种:
R基本数据类型 typeof mode storage.mode character character character logical logical logical integer numeric integer double numeric double complex complex complex raw raw raw
2)数据结构
R拥有许多用于存储数据的对象类型,包括向量、矩阵、数组、数据框和列表。
一个总体的概述如下图所示。
3)R中数据模式(Mode)
对象(Object) 模式(Mode) 类(Class) 数值矢量 numeric numeric 字符矢量 character character 数值矩阵 numeric matrix 字符矩阵 character matrix 因子(Factor) numeric factor 数据框(Data frame) list data.frame 列表(List) list list 线性模型(通过lm()生成) list lm 列联表(通过table()生成) numeric table
4)判断对象类型的函数
- typeof() 可以获得对象中元素的类型(如 logical, integer, double, complex,character, and list)
- mode() 可以获取对象的类型模式
- storage.mode() 获得对象的存储模式(storage mode)
- class() 获得对象的所属的类。
- is.array()
- is.matrix()
- is.list()
- is.data.frame()
- is.factor()
- is.ordered()
5)类型转换函数
- as.vector():将矩阵转换为向量。
- as.array()
- as.matrix():将数据框转换为矩阵。
- as.list()
- as.data.frame():将矩阵转换为数据框。
- matrix():将向量组合为矩阵。
- cbind()和rbind():将向量组合为矩阵。
- data.frame():将矩阵转换为数据框。
- unlist():将列表转换为向量。
- which():将布尔向量转换为索引向量。