help() 或者 ? + command 这是学习和使用R最常用到的命令。 help.search() 或者?? 搜索包含制定字串或pattern的命令 R.Version() 查看系统情况和版本 compareVersion() source() 执行R脚本 demo() 运行R的演示脚本,如demo(plotmath)演示数学注释(表达式)的情况 example() 自动执行命令的在线说明文档中的所有例子 工作环境 (envioronment) commandArgs() 查看启动R时的命令行参数 getwd() 查看当前工作目录 setwd() 设定当前工作目录 list.files() 列出当前目录下的文件,同dir file.info() 查看指定文件的详细信息 file.access() load() 载入R数据文件或保存过的工作环境 save() 保存数据,与load相对 save.image() 将当前环境中的内容写入 .RData,q命令退出保存时调用此命令 dput() 按ascii格式将指定对象输出到文件,保留某些数据结构 dget() 从ascii格式文件中读取对象 ls() 列出指定环境中的对象,如果无参数,列出其调用环境中的对象 object() 同ls rm() 删除当前环境中的变量 exists() 在指定位置是否存在某变量 mget() 在指定环境中寻找指定的变量 get() 查询并返回指定名称的变量 search() 查看当前环境载入的包 appropos() 返回search函数搜索路径里所有与指定的模式匹配的对象 find() 同appropos Sys.getlocale() 查看当前的locale Sys.setlocale() 设置当前的locale Sys.Date() 返回系统日期 Sys.time() 返回系统认定的当前时刻 Sys.timezone() 当前时区 proc.time() 当前R session已经运行的时间 date() 查看当前日期与时刻 system.time() 返回执行某任务所花的时间 system() 执行系统命令 options() 查看或修改环境中的全局options getOption() 返回特定option的当前值 包操作(package) .libPaths() 查询或安装包的路径 library() 查看当前可用的包或调入某个包 attatch() 将一个包或“数据库”(database)加入当前workspace的搜索路径 chooseCRANmirrors() 选择默认的R镜像网站,更新和下载包时用 update.packages() 更新包 install.packages() 安装包 installed.packages 查看已经安装的包 available.packages() 在线资源库中可下载安装的包 old.packages() 已安装而有新版本的包 new.packages() 未安装而可安装的包 文件操作 (file operation) file() 打开一个文件 file.show() 显示文件内容,是R help system的核心函数 tempfile() 返回一个"临时文件"名 tempdir() 返回一个可写入的临时目录名,通常是用户家目录下的临时目录 unlink() 删除指定的文件 scan() 从文件里读数据 read.table() 将矩阵式排列的数据读入数据框型对象 readLines() 按行读取数据 writeLines() 按行输出数据 cat() 将对象(限于atomic vectors)输出到链接 print() 打印对象, 用methods(print)来查看特定object的print命令. write.table() 将data frame,矩阵等格式的数据输出到文件 write() 更一般的输出到文件的方式 read.bin,write.bin 读取或输出二进制数据 download.file() 从指定的网址下载文件 object operation show() 查看对象的概况 class() 对象所属的类 mode() 对象元素的属性,如numeric,list,character typeof() 对象的内在属性,如integer,double,character attributes() 查看对象的属性(properties) 画图plot x11() 新建一个图形窗口 windows() windows下新建窗口命令 postcript() 设定postscript型的输出设备,其它如pdf(),jpeg(),png() dev.list() 列出当前环境中的绘图设备 dev.cur() 返回当前(active)设备号 dev.pre,dev.next 切换到上一个或下一个画图设备 dev.set() 设定当前设备 dev.copy() 把当前绘图设备的内容完整复制到指定的另一设备 dev.off() 关闭当前或某个绘图设备 graphics.off() 关闭除零设备之外的其他所有绘图设备 par() 列出或设定全局绘图参数 split.screen() 分割图形窗口 layout() 随心所欲地分割图形窗口,参数为一个矩阵 颜色处理 colors() 列出R的built-in colors rgb() 通过分别给出red,green,blue的值来产生调和色 col2rgb() 将三种格式的R颜色(名字,"#rrggbb",palette())转换成red,green,blue值 palette() 调色板 rainbow() 产生渐变的彩虹色 特定画图函数(particular plot) segments() 画线段 arrows() 画带箭头的线段 lines() 在已有图形中加“线” curve() 根据函数表达式画曲线 hist() 直方图 barplot() 条形图 boxplot() 盒式图 contour() 等高线图 filled.contour() 等高线图,线之间以颜色填充 image() 颜色(与指定的数值相应,如二维平面上的密度)填充的二维格子图 persp() 三维表面图 vennDiagram() 维恩图,from package 'limma' polygon() 画多变形 统计 mean() 算术平均值 median() 中值 sd() 方差 rowSums colSums rowMeans colMeans 计算一个矩阵型数据的行(列)和或行(列)均值 rowsum() 对矩阵的每一列,分组计算数值之和 cov,var,cor 相关系数或相关系数阵 fivenum() 产生Tukey's five number summary summary() 比fivenum多mean和NA数 stem() 茎叶图(stem-and-leaf plot),一种粗略的统计 sample() 从给定序列中做指定次数的随机采样 findInterval() 返回第一个向量的元素在第二个向量(其value按升序排列)中的排序 mahalanobis() 计算向量的mahalanobis距离 runif() 产生均匀分布的随机数 dunif() 均匀分布的密度函数 qunif() 分位数函数 punif() 均匀分布的累积函数 rnorm() 产生服从正态分布的随机数 dnorm() 正态分布的密度函数 qnorm() 正态分布的分位数 pnorm() 正态分布的累积分布函数 其它统计分布类似,如rpois产生服从泊松分布的随机数 density() 用K.D.E方法计算密度分布 特定统计函数 wilcox.test() wilcox non-parametric rank test,位置(均值) fisher.test() fisher's exact test t.test() one or two sample t-test ks.test() one or two smaple Kolmogorov-Smirov test oneway.test() 检验来自正态分布的两个或多个样本是否具有相同的均值,无论方差的齐性如何 kruskal.test() Kruskal-Wallis rank sum test for whether the location of each group are different var.test() 检验来自正态总体的两个样本的方差是否一致(F test) ansari.test() Ansari-Bradley two-sample test for difference in scale parameters bartlett.test() test if the variances in each of the samples are the same fligner.test() Fligner-Killeen test,非参数多样本方差齐性检验 levene.test() assess the equality of variance in different samples,require package Rcmdr outlier.test() 计算线性拟合过程中的极值点的p-value 正态性检验(Tests for Normality): Functions in package 'tseries' jarque.bera.test() Functions in package 'nortest' pearson.test Pearson chi-square test for normality lillie.test Lilliefors (Kolmogorov-Smirnov) test for normality cvm.test Cramer-von Mises test for normality ad.test Anderson-Darling test for normality sf.test Shapiro-Francia test for normality shapiro.test Shapiro-Wilk test of normality qqnorm normal probability plot (approximately performed) 注:几种normality test方法之间的相关性检测。 使用R的rnorm函数产生样本量为1000的标准正态分布采样,用每一种normality test函数分别检验其正态性,算出一个p-value;循环10000次,每一种test都产生一个长为10000的由p-value组成的向量与之对应,计算各向量之间的相关系数得下表。可见,shapiro和sf、ad与cvm分别是相互关系最近的test,lillie与cvm也较接近。pearson与大家相距最远。因为shapiro和sf都有样本量的限制(3~5000),如果数据多于5000时,可用ad方法,它与大家的综合距离最小。 shapiro sf ad cvm lillie sf 0.940 ad 0.763 0.750 cvm 0.644 0.635 0.961 lillie 0.538 0.529 0.817 0.872 pearson 0.292 0.288 0.422 0.407 0.400 paste() 连接字符串 strsplit() 按照指定的模式分割字符串 sub, gsub() 字符替换,支持模式匹配,后者支持全局匹配 grep() 查找字符串,支持模式匹配 c() 合并对象 cbind() 按列合并 rbind() 按行合并 merge() 按列或行合并dataframe dim() 对象的维数,返回值为一个list dimnames() 返回或设置对象的每一维的名字 row.names() 返回或设置矩阵类对象的行的名称 colnames() 返回或设置矩阵类对象的列的名称 intersect() 两个向量的交 union() 两个向量的并 setdiff() 两个向量的差,结果与次序有关 setequal() 两个向量是否相等 which() 返回一个逻辑向量中值为真的元素的下标 with() 对一个envioronment中的变量执行某函数 unique() 去掉重复的元素 rep() 按照指定方式重复向量中的元素 cut() 将一个数值向量中的元素按指定的方式划分区间,返回一个factor变量 split() 将对象中元素按指定方式分组,返回由所有组所组成的列表 unlist() 拆分列表结构为向量,保留其中所有的atomic components order() 将向量中的元素按升序或降序排列,返回每个元素对应的index apply() 对一个对象的指定维的所有成员运行一个函数 lapply() 对一个变量的每个元素运行同一个函数,返回一个list sapply() 同lapply, 但是返回一个向量,如果每次函数操作只产生一个元素 tapply () 对所给变量按照指定的分组方式分别运行一个函数 mapply rapply eapply range() 返回所有指定对象的最大和最小值 pretty() 计算一数值序列的等分位点 deparse() 以字符形式按原样输出表达式,对画图时的标注有用 substitute() 将表达式中的变量名替换为变量的值,其余部分不变 quote() 返回其参数,不做任何改变 format() 格式化输出 t() 矩阵转置 %*% 返回向量或矩阵的内积 diag() 返回、设定一个矩阵的对角元素;生成单位阵。 outer() or %o% 计算两个矩阵的外积 %in% 返回一个逻辑向量,当左边向量中的元素出现在右边对象中时为真 solve() 求解方程a %*% x = b. 当b为单位阵时x即为a的逆矩阵 >,<,==,!= 比较数值或向量或factor变量,返回逻辑向量 identical 比较两个变量,返回一个逻辑值,适合做if和while的条件判断式 all.equal 比较两个变量,返回真值或某种相似度的描述 Dealing with missing values is.na() usage e.g. x[!is.na(x)]提取x中所有非NA的元素 na.omit() na.exclude() na.fail() complete.cases() 返回matrix或data frame中不包含NA值的行的行号