1. R是一个非常灵活的平台,是专用于探索、展示和理解数据的语言。
2. 以数据科学家的角度学习R,思考如何才能成功地处理、分析和理解数据,包括:
* 获取数据(从各种数据源将数据导入程序);
* 整理数据(编码缺失值、修复或删除错误数据、将变量转换成更方便的格式);
* 注释数据(以记住每段数据的含义);
* 总结数据(通过描述性统计量了解数据的概况);
* 数据可视化(一图胜千言);
* 数据建模(解释数据间的关系,检验假设);
* 整理结果(创建具有出版水平的表格和图形);
3. 由于数据很少以直接可用的格式出现,因此在开始解决感兴趣的问题之前,我们经常不得不将大量时间花在从不同的数据源组合数据、清理脏数据(误编码的数据、不匹配的数据、含缺失值的数据),以及新变量(组合后的变量、变换后的变量、重编码的变量)的创建上。
4. 代码片段
x <- rnorm(5) #产生5个标准正态分布的随机数
age <- c(1, 3, 5, 2, 11, 9, 3, 9, 12, 3)
weight <- c(4.4, 5.3, 7.2, 5.2, 8.5, 7.3, 6, 10.4, 10.2, 6.1)
mean(weight) #求均值
sd(weight) #求标准差
cor(age, weight) #求简单相关系数
plot(age, weight) #画两个变量的散点图
# q() #退出R
demo(graphics) #常用图形的示例(如线图、饼图、盒形图等)
demo(Hershey) #各种符号对应的R命令
demo(persp) #等高曲面的立体图示例
demo(image) #等高线图的示例
5. R中的帮助函数
#R中的帮助函数
help.start() #打开帮助文档首页
help("mean")#查看函数mean的帮助(引号可以省略)
?mean #同上
help.search("mean") #以mean为关键词搜索本地帮助文档
??mean #同上
example("mean") #函数mean的使用示例(引号可以省略)
RSiteSearch("mean") #以mean为关键词搜索在线文档和邮件列表存档
apropos("mean",mode="function") #列出名称中含有mean的所有可用函数
data() #列出当前已加载包中所含的所有可用示例数据集
vignette() #列出当前已安装包中所有可用的vignette文档
vignette("mean") #为主题mean显示指定的vignette文档
#注:并非所有的包都提供了vignette文档
#用于管理R工作空间的函数
getwd() #显示当前的工作目录
setwd("mydirectory") #修改当前的工作目录为mydirectory
ls() #列出当前工作空间中的对象
rm(objectlist) #移除(删除)一个或多个对象
help(options) #显示可用选项的说明
options() #显示或设置当前选项
history(#) #显示最近使用过的#个命令(默认值为25)
savehistory("myfile") #保存命令历史到文件myfile中(默认值为.Rhistory)
loadhistory("myfile") #载入一个命令历史文件(默认值为.Rhistory)
save.image("myfile") #保存工作空间到文件myfile中(默认值为.RData)
save(objectlist,file="myfile") #保存指定对象到一个文件中
load("myfile") #读取一个工作空间到当前会话中(默认值为.RData)
q() #退出R。将会询问你是否保存工作空间
7. options(digits=3) #数字被格式化,显示为具有小数点后三位有效数字的格式
8. R的路径应该用正斜杠(/),反斜杠(\)是一个转义符。
9. 函数setwd()不会自动创建一个不存在的目录。如果必要的话,可以使用函数dir.create()来创建新目录,然后使用setwd()将工作目录指向这个新目录。
10. 输入与输出
* 输入:source("filename")
* 文本输出:sink("filename") 将输出重定向到文件filename中。参数append=TRUE可以将文本追加到文件后,而不是覆盖它。split=TRUE可将输出同时发送到屏幕和输出文件中。不加参数调用命令sink()将进项屏幕返回输出结果。
* 图形输出