解决问题
蛋白模拟
小小编程
机器学习
要看文献
成长思考
自娱自乐
R语言作图初学记录
type
status
date
slug
summary
tags
category
icon
password
学习目的:绘图;编程;找事情做,战胜空虚感!
很久之前的烂东西,没什么价值。就记录下。
RStudio界面分区:
- 控制台(Console):用于执行R代码并显示运行结果;
- 编辑器(Source):用于编写和保存R代码文件;
- 环境和历史记录(Environment and History):用于管理R对象和历史命令;
- 图形设备(Plots):用于显示基于R生成的图形输出。
基本配置:
设置工作路径:
Crtl+Shift+H
或鼠标Session>set……设置主题:tools>global options>appearance
输出图片:纯英文图片,推荐使用pdf输出,常用(6:8)尺寸
导入预览数据集:Environment,有个
Import Dataser
package包:
只需第一次安装,但以后每次用需要加载
pacman:
好用的包管理器:一次下载,加载多个包,不需要每个都用每次使用时都调用library()函数
- 安装一个或多个包:
上述代码中,
install.packages()
函数是R原始的安装包函数,而p_install()
是pacman
包中的函数,用于安装指定的包。- 加载一个或多个包:
p_load()
函数用于加载指定的包,可以一次性加载多个包,而不需要每次使用时都调用library()
函数。- 卸载一个或多个包:
p_unload()
用于卸载指定的包,在长时间使用多个包时可以释放内存。p_uninstall()
函数是pacman
中的函数,可以用来卸载指定的包。- 显示已经安装的包及其状态:
p_loaded()
函数返回已经加载到当前工作空间中的包的列表。p_isloaded()
函数检查指定的包是否已经加载到工作空间中。快捷键:
alt + shift + k
查看所有快捷键ctrl + alt + R
运行该脚本所有代码ctrl + Enter
运行当前鼠标所在行代码Ctrl+Shift+N
快速新建脚本ctrl + shift + c
多行注释Alt+o
代码折叠展开,函数或Rmarkdown
写代码行时F1
帮助Shift+Ctrl+D
粘贴复制代码Ctr + [向上箭头]
历史命令Ctrl + Shift + R
是创建可折叠注释Ctrl + Alt + X
函数提取🧹
清空内存Ctrl + Shift + s
一键运行全部命令初学问题总结:
install.packages("xxx")
安装packages。library()
加载。区分安装卸载和加载的区别。
c()
函数构建向量(vector),把数,字符串,逻辑值,列表,矩阵组合成一个向量或列表。
$
是一种访问数据框中列的简便方式。$ 符号后面可以跟上数据框中的列名,用于提取该列的数据。 如访问数据框df中的"age"列:
length.out
是一个用于指定所需的输出长度的参数,基本用法seq(from, to, length.out = n)
lines()
是用于添加直线、曲线或其他连续图形到已有图形上的函数。lines(x, y = NULL, type = "l", ...)
plot()
是一个用于绘制二维图形的基础函数。plot(x, y, type = "p", ...)
,type
表示绘制的类型
mean = 0, sd = 1
是设置R语言中的正态分布随机数的参数,其作用是生成均值为0,标准差为1的正态分布随机数。
rnorm()
函数是用于生成服从正态分布或高斯分布的随机数的函数。
pacman
是一个R语言包管理器。
- 运行
p_installed()
函数时报错could not find function "p_installed"
,可能是因为pacman
包没有被加载。
ggplot2
是一个常用的用于数据可视化的R。方便美观。
- 运行:
- 直接在R控制台中粘贴代码,
- 在RStudio中打开R脚本文件,
Ctrl+Shift+Enter
直接运行整个脚本;选中部分代码Ctrl+Enter
运行选中代码 - 进入R所在的文件夹,使用
Rscript xxx.R
,独立运行。 source()
,可导入会话,交互。
rm(list = ls())
清空R环境中加载的所有对象和变量。删除一个名为data
的数据集:rm(data)
dev.off()
关闭绘图设备。
cat("\014")
命令用来在R的控制台中清屏,相当于执行Linux或Unix系统中的clear命令。Ctrl + L
byrow
是R语言中一个逻辑(logical)变量,按照行填充。
cbind()
是R语言中的一个函数,用于按列合并两个或多个矩阵或向量。
as.data.frame()
函数可以将向量、矩阵、列表等对象转换为数据框(data.frame)。
- data frame 和list的区别:数据框中每列的元素类型应该相同,有行名和列名。
- 可参考notion database理解
- 两个中括号
[[ ]]
来访问和操作列表中的元素
- "Least restrictive data type"是用于存储一组数据的数据类型中,具备最小限制和最少限制的数据类型。通常用于数据存储和转换的场景中,例如在将不同类型的数据合并、转换或导入到存储和处理数据的系统中时,选择一个更少限制的数据类型可以更加灵活和高效地完成这些操作。
- 区别
(df0 <- data.frame(x1, y)) 和 (df1 <- cbind.data.frame(x1, y))
str()
函数输出数据框结构,“3 obs.”:表示这个数据框有3个观测值(即行数)。“2 variables”:表示这个数据框有2个变量(即列数)。
Factor()
函数用于将向量转换为因子(factor)类型,参数levels
指定向量中可能出现的取值水平,参数labels
指定针对每个水平的标签。,因子变量(factor variable)是一种特殊的离散变量,它的取值只能从一个预先定义好的有限集合里面选取。例如,某个变量的取值只能是 "A"、"B"、"C" 这三种情况,那么这个变量就是一个因子变量。(类似于notion label?select???)
labels
是factor()
函数中的一个参数,用于向因子变量的每个水平分配一个自定义标签。有对应的数值。
- 交互:程序与用户之间的动态互动过程,输入,反应,反馈输出。
- 强类型(Strong Typing)变量的类型是在运行时确定的,而不是在编译时确定的。在强类型语言中,不同类型的数据不能够直接进行运算或者组合。如果不同类型的数据被合并到一个向量中,那么这个向量中的元素类型就会变得混乱和模糊,这会导致一些取值或运算操作出现问题。为了保证向量的类型一致,
c()
函数要求创建的向量中的元素必须类型相同。
seq()
函数用于创建等差数列seq(from, to, by)
rep()
函数来创建一个重复的向量
paste()
函数用于将多个字符向量合并成一个字符向量。paste(..., sep = " ", collapse = NULL)
runif()
随机数生成,runif(n, min = 0, max = 1)
- 伪随机数:通过一个种子数(seed)来控制,
set.seed()
函数来设置种子数。
sum(x)
:求和mean(x)
:平均值var(x)
:方差
- 两个长度不相等的向量相加:短的重复
rowSums()
函数是用来计算矩阵或数据框中各行的元素之和的函数
cor()
是R语言内置的计算矩阵、向量或数据框相关系数的函数
character
类型的数据表示文本,即一些文字或字符串。
pheatmap()
函数绘制一个热图,pheatmap包
- z-score标准化指的是将单个样本的每个基因或变量的数值减去该基因或变量在所有样本中的平均数,然后除以该基因或变量在所有样本中的标准差。这种方法可以将所有样本中的基因或变量数值转换为标准正态分布,使得在不同数据集之间的比较更加可靠。
- 中性化处理指的是从基因或变量的数值中去除对不同样本的影响,例如去除技术变异或批次效应。利用线性模型,利用批次、实验时间等可控制因素构建一个统计模型,并根据该模型中的参数将每个基因或变量的数值对样本中的影响进行调整,使得数据在多个数据集之间具有更好的可比性。
str
函数的全称是"structure",打印出一个R对象的结构,类型、长度、结构和属性等。
- 数据框索引方法: 方括号[]:使用方括号运算符按列名、行序号或逻辑向量进行数据切片
点(.)索引:按列名选择数据框的列(美元符($)也可列名索引,不过返回向量,而不是数据框)
df$col1
双重方括号[[]]:选元素或列:
dplyr包函数:使用dplyr包中的函数(例如
select
和filter
)和管道操作符(%>%)进行列的选择和行的筛选等na.rm
是一个常用的参数,用于在对数据进行各种操作(例如求均值、求和等)时忽略其中的缺失值NA。
- 箱线图(Boxplot)是一种可视化数据分布和异常值的常用方法。它显示了一组数据中的五个统计量:最小值、第一四分位数(Q1)、中位数、第三四分位数(Q3)和最大值。在箱线图中,箱体代表Q1和Q3之间的数据,中位数用一条线表示,上下两个线(也称为须)表示数据中的最大值和最小值。异常值则用点表示。通过箱线图,我们可以直观地看到数据的分布情况,识别任何异常值或离群值。
ggsci
是一个R包,提供了大量漂亮的调色板,可以方便地用于ggplot2绘图。ggsci
中,颜色并不是自动设置的。您需要使用相应的调色板来为您的图形设置颜色。调色板是一组预设颜色,可以根据数据类型和目的选择。
ggthemes
提供了丰富的图形主题和颜色调色板;而ggsci
则更专注于科学、卫生、医学领域的颜色调色板。
- RStudio的批量命令
Source
功能来执行您输入的多条命令:Ctrl + Shift + S
或从菜单中选择Code > Source
以使用Source
功能。
ggpubr
是一个非常有用的R包,它提供了许多用于绘制漂亮的数据可视化图形的函数,并基于ggplot2
构建了更高级的绘图工具,如接受方操作特征(ROC)、典型误差图和森林图等。
- 和弦图是一种常用的数据可视化工具,可以用来显示多个变量之间的关系。和弦图通常用于显示二元关系或关联性,即两个向量之间的交叉计数。
- Rtools:在安装R包时,如果需要进行编译,就需要先安装Rtools,否则包安装会失败。
getwd()
函数来获取当前的工作路径
sep = "\t"
参数指定了输入文件使用什么字符作为数据分隔符,这里为制表符(Tab符号)。省略了分隔符参数,R默认使用空格作为数据分隔符。
- hierarchical clustering:层次聚类。将相似的对象归类到同一个簇中。层次聚类方法主要有两种,分别是聚合聚类(Agglomerative Clustering)和分裂聚类(Divisive Clustering)。
- 分裂聚类则是从整体开始,逐渐将簇分成不同的子簇,直到每个簇只包含一个数据项。
- 层次聚类方法是一种自下而上的聚类方法,可以形成树形的聚类结构,因此又称为树形聚类(Hierarchical Clustering)。
<-
赋值;=
新版也是赋值
绘图入门:
绘图常用参数
plot()
函数是R语言中常用的绘图函数之一,提供了很多用于设置绘图参数的选项。下面列出了其中的一些常用参数:x, y
:绘图坐标轴的数据,可以使用向量、矩阵或数据框存储。
type
:图形类型,可以是以下类型之一:- "p":散点图(默认值)
- "l":线图,将数据点用线连接起来
- "b":折线图,与“l”类似,但是连接点之间有折角
- "o":圆点线图,将数据点像“b”一样连接起来,但是点间用圆点连接
- "h":垂直线图(高度图),绘制垂线
- "s":阶梯线图,类似于折线图,但是连接点之间垂直线段是水平的
- "n":不显示任何数据点或轴线
- "c":只显示数据点标记,不绘制线段
main
:绘图的主题(title)。
sub
:绘图的副标题(subtitle)。
xlab
:x轴的标签(label)。
ylab
:y轴的标签。
xlim
:x轴的范围,可以使用向量或标量来指定。
ylim
:y轴的范围,可以使用向量或标量来指定。
col
:数据点或线条的颜色。
pch
:数据点的标记类型(可以是数字或字符)。
lty
:线型,1表示实线,2表示虚线,3表示点划线等。
cex
:标记和标签的放缩比例(大小)。
font
:标签的字体风格,1表示普通,2表示粗体,3表示斜体,4表示粗斜体。
bg
:标记的背景颜色。
las
:轴线标签的方向,0表示水平放置,1表示旋转45度,2表示垂直放置,3表示旋转-45度。
bty
:绘制绘图框的类型。
需要注意的是,上述参数仅为
plot()
函数可用的一部分,使用时需要根据需要设置对应的参数值。另外,可以使用par()
函数和plot()
函数的其他参数对绘图进行自定义设置和美化。常用绘图函数
plot()
函数:用于绘制二维图形,包括散点图、线图、折线图、柱状图等。
barplot()
函数:用于绘制柱状图,可单独或组合绘制多列数据。
boxplot()
函数:用于绘制箱线图,展示数据的五个统计量:最小值、上四分位数、中位数、下四分位数和最大值。
hist()
函数:用于绘制直方图,展示数据的频率分布情况。
pie()
函数:用于绘制饼图,展示数据占比和相对大小。
heatmap()
函数:用于绘制热图,展示数据的变化情况。
ggplot()
函数:用于创建高度自定义的图形,通过添加各种图层(layer)实现数据可视化。
除了上述常用绘图函数之外,R语言还提供了许多其他的绘图函数,如曲线图的
curve()
函数、等高线图的contour()
函数、地图的map()
函数等等,可根据具体需求进行选择和使用。值得注意的是,学习和掌握数据可视化的基础技能对数据分析和数据科学应用非常重要。常用函数(自学尝试)
c()
函数:concatenate它可以把一系列的数、字符、逻辑值或其他R对象(如列表、矩阵等)组合成一个向量或列表density()
计算概率密度估计值的函数,density()函数默认使用高斯核(Gaussian kernel)函数进行概率密度估计。rnorm()
函数:生成服从正态分布或高斯分布的随机数的函数hist()
直方图绘制lines()
添加直线曲线到已有图形plot()
函数参考:zhihu, ChatGPT, bilibili, CSDN, Blog......
Loading...
Last update: 2023-05-27
🎉终于搭建完成🎉
-- 感谢您的支持 ---
👏欢迎阅读👏