R语言速通(二)

24 年 3 月 23 日 星期六
1465 字
8 分钟

因为是速通,所以会写得比较简短和跳跃 速通参考书为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() 创建新向量,如:

text
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) 表示标准正态分布密度 ϕ(x)=1(2π)e12x2\phi(x)=\frac{1}{\sqrt(2\pi)}e^{-\frac{1}{2}x^2} , pnorm(x) 表示标准正态分布函数 Φ=_xϕ(x)dt\Phi=\int\_{-\infin}^{x} \phi(x)dt qnorm(y) 表示标准正态分布位函数, 即 Φ1(x)\Phi^{-1}(x) 等;

除此之外R也支持函数自定义, 格式如下:

text
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)函数图像,如

    text
    curve(sin(x),0,2*pi)
    

    即绘制了[0,2π\pi]段的f(x)=sinxf(x)=sinx的图像 更多可选参数 n : 可选参数,指定在给定范围取的点数,默认为100。 type : 可选参数,指定曲线的类型,可以是 "l"(线段),"s"(阶梯),"b"(点线),或者 "c"(平滑曲线)。 col : 可选参数,指定曲线的颜色。 lwd : 可选参数,指定曲线线的宽度。

  • barplot barplot可用于绘制直方图, 其主要参数为一个向量, 反映每个条形的高度, 这个向量可以是一个纯数向量, 其元素也可以是 "组名"=数值 的形式, 如:

    text
    barplot(c("睡眠充足"=20,"睡眠不足"=70))
    

    更多可选参数 height : 一个数值向量,表示条形的高度。通常,这是你想要在条形图中展示的数据。 width : 一个数值向量,表示条形的宽度。如果只有一个数值,所有的条形将使用相同的宽度。 space : 一个数值,表示条形之间的间隔大小。 col : 一个颜色向量,用于指定每个条形的颜色。如果没有提供,条形将使用默认的颜色。 horiz : 一个逻辑值,如果设置为 TRUE,将创建水平条形图;如果为 FALSE(默认值),则创建垂直条形图。 main : 将创建表格标题

  • plot plot可用来绘制一般散点图, 最简单的散点图需要两个向量作为参数, 一个是横坐标值, 另一个是纵坐标值

    text
    plot(1:10,sqrt(1:10))
    

    事实上plot能画大部分图像包括curve和plot所画的, 可通过参数 type 自行选择

  • abline 除了自身生成的图像外, 可使用abline手动添加点和直线等, 最简单的例如

    text
    abline(h=2)
    abline(v=2)
    

    第一行添加了位于y=2的一条水平线, 第二行添加了一条位于x=2的竖直线

文章标题:R语言速通(二)

文章作者:StellarLane

文章链接:https://stellarlane.github.io/posts/r_2[复制]

最后修改时间:


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。