因为是速通,所以会写得比较简短和跳跃 速通参考书为PKU李东风教授《R语言教程》, 非常感谢李东风教授的整理
使用R语言进行编程
首先是要在电脑上下载R语言, 建议下载后添加到环境变量里
R语言自带有IDE, 但Rstudio(或者vsc)是更好的替代品
以Rstudio为例, 其界面分为4个部分, (默认情况下)左上为主要的代码编写部分, 这部分代码会被储存在一个 .R 文件中, 左下为命令行, 和py和bash类似, 命令行也可用写部分代码或者命令, 但由于其不会被保存, 所以一般还是建议写在 .R 文件里, 对于 .R 文件中的代码, 通常是逐行运行, 按crtl+enter即可运行当前行的代码, 当前行代码的效果, 如生成的变量等, 会被记录在环境中, 可在右上角的环境窗口来监视环境中所有的变量, 可以手动清除当前环境中存在的所有变量, 右下角区域则为文件导航
R语言有丰富的拓展包, 下载这些拓展包最常用的方式则是 install.packages("你想要下载的包")
, 随后需要再次使用 library(你要启用的包)
来启用, 注意library这里不用引号
基础
变量
R语言的基础变量包括数值, 字符串(没有单个字符), 布尔值, 缺失值 数值的类型一般会自动决定, 不用显式说明, 且支持用科学计数法表示和表示虚数; R中没有字符一说, 都是字符串, 可用""也可用'', 支持中文, 但注意编码 R中还有缺失值一说, 一般记为NA, 数值型, 字符型, 布尔型都可以有缺失值, 不过字符型的缺失值需要手动规定
以上述这些基础变量作为向量的元素, R语言的数据可以以向量,矩阵等形式存储, 单个数值也可以理解为标量; R语言是动态类型的 变量类型不需要事先声明, 在R语言中通过 <-
进行赋值操作, 可用 c()
创建新向量,如:
a <- c(1,2)
a
# [1] 1 2
除此之外R也支持对象
函数
函数同样的常规调用方法与其他语言大同小异, 除此之外也可以使用"pipe" |>
调用, 除了多了个>以外和bash中的pipe运算符差不多;
R自带了大量的内置函数:
%/%
表示整除, %%
表示取余;
^
表示乘方运算;
round(a,b)
对a向下取整至小数点后b位, (b可不写默认为0), round(a,b)
ceiling(a,b)
分别为四舍五入,向上取整;
内置 sin(x)
cos(x)
tan(x)
, 单位为弧度制, 也可使用反三角函数,加a即可, 如 asin(x)
即表示反正弦,;
除此之外还包括大量分布函数, 如 dnorm(x)
表示标准正态分布密度 , pnorm(x)
表示标准正态分布函数 qnorm(y)
表示标准正态分布位函数, 即 等;
除此之外R也支持函数自定义, 格式如下:
functionname <- function(x1, x2, y1, y2){ #用=替代<-其实也可以
sqrt((x1-x2)^2+(y1-y2)^2)
}
在R中函数有返回值, 当没有明确指出时默认将最后一个语句的结果返回, 或者直接使用return来返回需要的值
输出可使用print或者cat(), cat()可用于多项内容和文本, 且可以使用"\n"进行换行操作, 在这两种常规的输出之外, 还有一种 sink()
常用于调试阶段, 其可以在程序执行时将数据写入到文档或其他媒介中, 使用 sink()
可暂停这批写入操作
画图初步
-
curve curve(f,a,b) 可用于绘制[a,b]区间上的f(x)函数图像,如
textcurve(sin(x),0,2*pi)
即绘制了[0,2]段的的图像 更多可选参数
n
: 可选参数,指定在给定范围取的点数,默认为100。type
: 可选参数,指定曲线的类型,可以是 "l"(线段),"s"(阶梯),"b"(点线),或者 "c"(平滑曲线)。col
: 可选参数,指定曲线的颜色。lwd
: 可选参数,指定曲线线的宽度。 -
barplot barplot可用于绘制直方图, 其主要参数为一个向量, 反映每个条形的高度, 这个向量可以是一个纯数向量, 其元素也可以是 "组名"=数值 的形式, 如:
textbarplot(c("睡眠充足"=20,"睡眠不足"=70))
更多可选参数
height
: 一个数值向量,表示条形的高度。通常,这是你想要在条形图中展示的数据。width
: 一个数值向量,表示条形的宽度。如果只有一个数值,所有的条形将使用相同的宽度。space
: 一个数值,表示条形之间的间隔大小。col
: 一个颜色向量,用于指定每个条形的颜色。如果没有提供,条形将使用默认的颜色。horiz
: 一个逻辑值,如果设置为 TRUE,将创建水平条形图;如果为 FALSE(默认值),则创建垂直条形图。main
: 将创建表格标题 -
plot plot可用来绘制一般散点图, 最简单的散点图需要两个向量作为参数, 一个是横坐标值, 另一个是纵坐标值
textplot(1:10,sqrt(1:10))
事实上plot能画大部分图像包括curve和plot所画的, 可通过参数
type
自行选择 -
abline 除了自身生成的图像外, 可使用abline手动添加点和直线等, 最简单的例如
textabline(h=2) abline(v=2)
第一行添加了位于y=2的一条水平线, 第二行添加了一条位于x=2的竖直线