记录读《R导论》和《153分钟学会R》 的学习笔记
如果你是第一次在UNIX 系统使用 R,我们推荐的操作步骤如下:
- 创建一个独立的子目录work 来保存你要在这个系统上用 R 分析的数据文件。当你用 R 处理这些数据时,这将是你的工作目录。
1 | $ mkdir work |
用命令启动 R 程序。
1
$ R
此时,可以键入 R 的命令(见后面的内容)。
退出 R 程序的命令是
1
>q()
1 | 为了得到任何特定名字的函数的帮助,如solve,可以使用如下命令 > help(solve) |
1 | 在大多数 R 平台中,你可以通过运行下面的命令得到HTML 格式的帮助。 > help.start() |
1 | 命令可以被(;)隔开,或者另起一行。基本命令可以通过大括弧({和}) 放在一起构成一个复合表达式(compound expression)。注释几乎可以放在任何地方。一行中,从井号(#)开始到句子收尾之间的语句就是注释。 |
1 | 如果一批命令保存在工作目录work 下一个叫commands.R 的文件中,可以用下面的命令在 R 会话中执行这个文件。 > source("commands.R") |
1 | 如何清除变量?清除单个变量使用 rm() 函数,清除内存中所有的变量: |
1 | 如何得到函数的代码?通常情况你只需要在 R 平台下写出你需要查看的函数名,回车即可。比如: |
1 | 但有时候这个函数可能是一个泛型函数(Generic Function),上面的方法就需要稍稍改进一下:先使用 methods() 函数来查看这个类函数的列表,找到具体需要的函数,写出来,回车 ,问题解决。 |
1 | summary # It i s a generic funciton |
1 | 想查看一个矩阵的前(后)几行, 么办?可以使用 head() 或 tail() 函数。 |
1 | 在 R 中公式的符号都是什么意义? |
1 | 可以将 R 中显示的结果输出到文件么?可以。使用 sink()函数。 |
1 | 怎样将因子 (factor) 转换为数字 |
1 | 为什么当我使用 source() 时,不能显示输出结果? |
1 | 在 R 里面使用必须使用双反斜杠或单斜杠表示文件路径,比如: |
1 | 如何删掉缺失值? |
1 | 如何将字符串转变为命令行? |
1 | 如何向一个向量 加元素?参考 append()函数。 |
1 | 我的数据框有相同的行,如何去掉这些行? |
1 | 如何对数列(array)进行维度变换? |
1 | 如何删除 list 中的元素? |
1 | 如何对矩阵 行 (列) 作计算?使用函数 apply() |
1 | 如何注掉大段的 R 程序 |
1 | 一组数中随机抽取数据?参考函数 sample() |
1 | 如何根据共有的列将两个数据框合并? |
1 | 如何求矩阵各行 (列) 的均值? |
1 | 如何计算组合数或得到所有排列组合? |
1 | 如何在 R 里面求(偏)导数? |
1 | 如何模拟高斯(正态)分布数据? |
1 | 如何在字符串中选取特定位置的字符? |
1 | 这里要区别一下 length,length 函数是返回向量里元素的个数。比如 “你好吗” 是长度为一的向量,但这个元素的字符长度为三,这里就需要使用 nchar 函数: |
1 | 如何在同一面出多张图? |
1 | 如何在条形图上显示每个 bar 的数值? |
1 | 没有直接计算峰度和偏度的函数?当然自己写一个也费不了太多时间。FBasics 包中提供了可以直接计算偏度和峰度的函数。 |
1 | 如何得到一个正态总体均值µ的区间估计?很简单,t.test() 函数 |
1 | 如何做聚类分析? |
1 | 如何做主成分分析? |
1 | 如何对样本数据进行正态检验?比较常见的方法: |
1 | 如何做配对 t 检验?参考 t.test() 中的 paired 参数 |
1 | 多项式回归应该使用什么函数?使用 I() ,例如: |
如何使用方差分析(ANOVA)?
方差分析同线性回归模型很类似,毕竟它们都是线性模型。最简单实现方差分析的函数为aov(),通过规定函数内公式形式来指定方差分析类型:

1 | 如何求解没有常数项的线性回归模型?只需在公式中引入 0 即可 : |
1 | 回归的命令是?参考 MASS 包中的 lm.ridge() 函数。 |
1 | `如何使用正交多项式回归?在 R 中,使用 poly() 函数:( z <− poly (1:10 , 3))` |
1 | 如何求 Spearman 等级(或 kendall)相关系数? |
1 | `如何做 Decision Tree?基于树型方法的模型(Tree-based model)并不被统计学背景的研究者所熟悉,但它在其他领域却时常被广泛应用。下面是 Modern Applied Statistics With S 中的例子,需要加载 rpart包。l i b r a r y ( rpart )set . seed (123)cpus . rp <− rpart ( log10 ( perf ) ~ . , cpus [ , 2 : 8 ] , cp = 1e−3)plot ( cpus . rp , uniform = T)text ( cpus . rp , d i g i t s = 3)` |
1 | box-cox 变换?MASS 包中的boxcox ()函数。 |
1 | R 有类似于 SPSS 的界面么?有!安装包 Rcmdr ,加载包后,使用命令Commander() |
1 | `样来计算函数运行使用时间?使用 system.time() 。proc.time() 可以获得 R 进程存在的时间,system.time() 通过调用两次 proc.time() 来计算函数运行的时间。` |