目录
一、知识准备
第一章:R基础
1.1R的用户界面
1.2对象
1.3函数
1.4可放回抽样
1.5编写自定义函数
1.6参数
1.7脚本
1.8总结
第二章:R包与帮助文档
2.1.1 install.packages & 2.1.2 library
2.2 从帮助界面获取帮助
2.3小结
二、实战代码
用RStudio,键入(command),键入代码所在行(command line)。
命令行中“:”表示返回两个整数值之间的所有整数。
如果是小数,见如下代码:
> 1.1:10.9
[1] 1.1 2.1 3.1 4.1 5.1 6.1 7.1 8.1 9.1 10.1
> -1.1:10.9
[1] -1.1 -0.1 0.9 1.9 2.9 3.9 4.9 5.9 6.9 7.9 8.9 9.9 10.9
> 0:10
[1] 0 1 2 3 4 5 6 7 8 9 10
临时中止程序的运行,键入ctrl+c 取消命令,只不过运行R程序很长时间,终止也要很长时间。
保存数据就是将数据保存到R对象中。要想查看一个R对象中存储了什么内容,只需键入该对象的名称并按回车键即可。创建了一个R对象后,该对象会显示在RStudio的环境面板上。R对象的命名不能以数字开头;一些特殊的符号不能在名称中出现,如^、!、$、@、+、-、/ 或者*。R还区分大小写,就像bool型要全大写。
ls()查看所有对象。
显示加载到内存中的变量和函数的详细信息用
ls.str()
清空环境变量
rm(list = ls( ))
R使用element-wise execution元素方式执行。如果在一个运算中涉及两个或者两个以上的向量,R会将这些向量排成一行并执行一系列单独的运算。如果两个vector的长度不相等,R会在较短的向量上重复,直到其长度与较长vector相同。如果长向量的len不是短向量的整数倍,R在返回运算结果的同时也会返回一条警告信息。R的这种行为称为向量循环(这里可以对比Python中的broadcast,broadcast不能用于向量,而是用于不同结构的多维矩阵)
%*%内乘法,%o%外乘法
b[1], b[1:6], b[b %%3 == 0] mod3为0
b[c(8,4,9)]产生了新的顺序
向右赋值->, 向左赋值<- , = 向左赋值
在R控制台输入函数名就可以得到函数源代码。
round()实现四舍五入
factorial()实现阶乘
传递到括号中的数据称为函数的参数(argument)
sample(x = 1 : 10, size = 2)随即抽取
sample 两个arg, one is vector x, another is size。
通过args查看函数的所有参数名!
args(round)
1.4可放回抽样
sample默认without replacement。
sample(data, size= , replace = T) #with replacement
my_function <- function( ) { }
# function(arguments) body
# 如果函数主体只有一个表达式时,花括号可以省略。
R function includes three parts: function name, body and arguments.
在自定义函数中的括号里列出参数和它们的名称,用逗号隔开,等号赋值。
用script 编写程序,File > New File > R Script, File > Save As。
Run运行一行(Ctrl + Enter),Source运行所有(Shift + Ctrl + Enter)
提取函数
R Studio内置了创建函数的工具。选中script里想转换为函数的对应代码段选中,在菜单栏中Code > Extract Function。起个名称,并包装。R会自动检查代码段中没有定义的变量,并将它们设置为该函数的参数。
懒,也没啥可总结,这么散的知识。
新手一定要这样:
install.packages("package you need", dep = T, suggests = T)
library("xxx")
package:qplot quick plot 快速绘图
#其实c()是一种函数,用于创建数值向量,c refers to Concatenate/ Collect/ Combine
#重复一个动作的函数:replicate 复制; (精确地)仿制; 再造; 再生; 自我复制
replicate(times, args )
?package, 直接拉到最下面看代码示例
帮助界面的组成部分:description(功能描述)、usage、arguments、details、value、See Also(相关函数list)、examples(代码示例)
关键词搜索:
??haha
R会列出所有与该关键词有关的帮助界面的超链接。
"边做边学是学习R的最佳途径。当你突发灵感时,不妨动手尝试在R中实现你的想法。"
"如果不掌握一定数量的R命令(即词汇量),就很难自如地用R语言与计算机交流。"
"即便你的R词汇量还不大,也不应该羞于开口。毕竟在用R语言交流时,你面前的计算机是你唯一的听众。可能计算机不会太宽容,但总归不会吹毛求疵。"
"数据科学的基石是存储大量数据并根据需求随时调用数据的能力。有了这样的能力,掌握数据处理、数据可视化、数据建模等技能自然不在话下。"
roll <- function( ){
die <- 1:6
dice <- sample(die, size = 2, replace = T,
prob = c(1/6, 1/6, 1/6, 1/6, 1/6, 1/6))
sum(dice)
}