十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

R 语言快速参考备忘清单:从环境入门到向量运算与数据可视化

R 语言快速参考备忘清单:从环境入门到向量运算与数据可视化 R 语言快速参考备忘清单从环境入门到向量运算与数据可视化【免费下载链接】reference为开发人员分享快速参考备忘清单(速查表)项目地址: https://gitcode.com/jaywcjlove/reference本篇指南以开源仓库 jaywcjlove/reference 中的 R 语言备忘清单 为主体系统梳理 R 语言从环境配置、基础语法、控制流、数据结构到图形绘制与向量索引的完整速查体系。读完本篇你将能够快速定位 R 中帮助与包管理、数据读写、循环与函数定义、常用绘图函数以及向量创建与子集选取的全部高频用法并可直接在仓库中查看原文与本地预览效果。一、入门帮助、包管理与工作目录R 语言最常用的入门动作有三类查阅帮助文档、安装加载第三方包、管理当前工作目录。这一部分对应 docs/r.md 的入门章节。获取帮助与对象信息R 内置了完善的帮助系统?与help系列函数是日常排错的第一入口?mean # 获取特定功能的帮助 help.search(weighted mean) # 在帮助文件中搜索单词或短语 help(package dplyr) # 查找软件包的帮助?mean等价于help(mean)打开对应函数的帮助文档help.search()在全量帮助文档中按关键词模糊检索适合只知道功能、不知道函数名的情况help(package dplyr)查看某个已安装包的全部帮助条目。对于运行中的对象str()与class()是最常用的体检工具str(iris) # 获取对象结构的摘要 class(iris) # 查找对象所属的类iris是 R 内置的鸢尾花数据集150 行 4 列数值特征加 1 列品种标签。str()会输出对象的类型、维度与各列类型而class()返回对象所属的类如data.frame、numeric、character等是判断数据结构、决定后续操作方式的第一步。下载和使用库R 的生态通过包package扩展。官方仓库 CRAN、生物信息学常用的 Bioconductor以及 GitHub 上未发布到官方仓库的开发版包分别有不同的安装方式install.packages(dplyr) # 从 CRAN 下载并安装软件包 install.packages(BiocManager) library(BiocManager) BiocManager::install(dplyr) # 使用 Bioconductor 的 BiocManager 包下载并安装软件包 devtools::install_github(clusterProfiler) # 直接从 GitHub 中下载并安装软件包 library(dplyr) # 将包加载到会话中使其所有功能可供使用 dplyr::select # 使用包中的特定函数 data(iris) # 将内置数据集加载到环境中几个容易混淆的要点install.packages()负责安装library()负责加载两者缺一不可BiocManager::install()中::的作用是不加载整个包、直接调用包内的某个函数同理dplyr::select只取用dplyr包中的select函数避免与其他包的同名函数冲突例如MASS包也有selectdevtools::install_github()需要预先安装devtools包且依赖本机可访问 GitHubdata(iris)将内置数据集载入当前环境是练习数据操作的标准姿势。工作目录R 读写文件的相对路径都基于当前工作目录解析getwd() # 查找当前工作目录输入从这里找到输出发送到这里 setwd(C://file/path) # 更改当前工作目录getwd()返回当前工作目录setwd()修改之。备忘清单中还特别建议使用 RStudio 中的项目Project功能让 RStudio 自动把工作目录设置为项目所在文件夹避免每次启动都手动setwd()这是团队协作与脚本可复现性的良好实践。二、基础语法变量、类型、结构与控制流这一部分是 docs/r.md 的基础入门章节覆盖了编写任何 R 脚本都绕不开的核心语法。变量和赋值x - 10 # 使用箭头赋值 y 20 # 或者直接使用等号赋值-是 R 社区推荐的赋值方式在 RStudio 中可用快捷键Alt -快速输入也完全合法。此外还有反向箭头20 - y与函数式赋值assign(x, 10)但前两种足够覆盖绝大多数场景。赋值后会立即在环境Environment中创建对应变量。数据类型numeric_var - 3.14 # 数值型 character_var - hello # 字符串字符型 logical_var - TRUE # 逻辑型R 的基础数据类型至少还包括integer整数型如1L带L后缀factor因子型用于分类变量在统计建模中会被特殊处理缺失值NA、空值NULL、非数值NaN与无穷Inf这些特殊值在数据清洗时经常需要判空处理。可以用typeof()、class()与is.numeric()等函数随时检验变量类型。向量和列表向量vector是 R 中最基本的数据结构列表list则可以容纳不同类型、不同长度的元素# 向量 numeric_vector - c(1, 2, 3, 4) character_vector - c(apple, orange, banana) # 列表 my_list - list(name John, age 30, city New York)c()combine用于把元素拼接成向量同一向量内所有元素必须同类型否则 R 会自动做类型转换如字符与数值混合时数值会被转为字符列表通过list()创建每个元素可以命名通过my_list$name或my_list[[name]]取用向量和列表是后续数据框、矩阵等复杂结构的基础。向量化运算R 的向量化vectorization特性使其无需显式写循环即可完成批量计算# 创建向量 numbers - c(1, 2, 3, 4, 5) # 计算向量的和 sum_result - sum(numbers) # 计算向量的平均值 mean_result - mean(numbers)sum()、mean()等聚合函数直接作用于整个向量min()、max()、median()、sd()、var()同理。此外numbers 1、numbers * 2这类逐元素运算也会自动展开这是 R 性能与表达力兼备的原因之一。数据框Data Frame数据框是 R 中表格的载体也是数据分析最常用的结构my_df - data.frame(name c(John, Alice), age c(30, 25)) # 创建数据框 student_data - data.frame( name c(John, Alice, Bob), age c(25, 23, 22), grade c(A, B, C) ) # 显示数据框 print(student_data)数据框的每一列是一个等长向量不同列可以有不同的类型。创建后常用的检查与操作包括str(student_data)查看结构、head(student_data)查看前几行、summary(student_data)查看每列统计摘要student_data$name取某一列student_data[1, ]取某一行student_data[, age]取某一列nrow()/ncol()/dim()查看维度names()查看列名。函数# 定义函数 add_numbers - function(a, b) { result - a b return(result) } # 调用函数 sum_result - add_numbers(10, 5)R 函数以function(参数列表) { 函数体 }定义return()显式返回结果若函数体最后一行是一个表达式其值也会被隐式返回。R 函数还支持默认参数值如function(a, b 1)、命名参数调用add_numbers(b 5, a 10)以及...可变参数这些在阅读第三方包源码时非常常见。条件语句if (x 0) { print(Positive) } else { print(Non-positive) }if/else的条件必须返回单个逻辑值TRUE或FALSE。注意if对长度为 1 的逻辑向量生效若条件本身是一个向量如x 0且x是多元素向量if只会使用第一个元素并给出警告此时应改用向量化的ifelse(condition, yes, no)。for 循环语句for (i in 1:5) { print(i) }for循环遍历序列1:5即 1、2、3、4、5并逐次执行循环体。R 中的for可以遍历任意可迭代对象例如字符向量、列表的索引等。由于向量化特性的存在能用apply家族lapply、sapply、vapply或purrr包解决的遍历通常比显式for循环更简洁。while 循环counter - 1 while (counter 5) { print(counter) counter - counter 1 }while在条件为TRUE时反复执行循环体本例用计数器实现 1 到 5 的输出。使用while务必确保循环条件最终会被打破如本例中counter逐次递增否则会陷入死循环break可提前跳出next可跳过本次迭代。数据读取和输出# 读取数据 my_data - read.csv(data.csv) # 输出数据 write.csv(my_data, output.csv)read.csv()读取逗号分隔的 CSV 文件返回数据框默认第一行为列名header FALSE可关闭write.csv()将数据框写出为 CSVrow.names FALSE可避免输出多余的行号列更大规模的场景可使用read.table()读取自定义分隔符文件或配合readxlExcel、data.table::fread()超大文件、havenSPSS/SAS/Stata等生态包。清理工作空间# 清空所有变量 rm(list ls()) # 退出 R q()ls()列出当前环境所有对象rm(list ls())将它们全部删除是脚本收尾或切换任务时常用的重置手段。q()退出 R 会话退出时 R 会询问是否保存工作空间镜像.RData。在交互式分析之外建议在脚本中显式管理变量避免依赖工作空间镜像保证可复现性。三、图形绘制从散点图到直方图与线图Base R 的绘图系统无需安装任何包即可完成基础可视化对应 docs/r.md 的图形绘制章节。所有绘图函数都会在当前图形设备窗口或文件上输出。散点图plot(x, y)plot(x, y)是散点图scatter plot的标准调用x为横轴向量y为纵轴向量两者长度必须一致。完整版可以同时指定标题与坐标轴标签x - c(1, 2, 3, 4, 5) y - c(2, 4, 5, 6, 7) plot(x, y, main Scatter Plot, xlab X-axis, ylab Y-axis)其中main设置图标题xlab/ylab分别设置横纵轴标签。常用附加参数还包括col颜色、pch点形状、cex点大小、type图形类型。直方图hist(data)hist()用于绘制数值分布的直方图histogram自动将数据分箱并统计频数。带参数的完整示例data - c(1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5) hist(data, main Histogram, xlab Value, col lightblue)col参数填充柱体颜色本例为浅蓝色lightblue。可通过breaks控制分箱数量通过freq FALSE将纵轴切换为概率密度。折线图plot(x, y, type l)plot(x, y, type l)中type lline将散点连成折线即线图/折线图。完整示例x - c(1, 2, 3, 4, 5) y - c(2, 4, 5, 6, 7) plot(x, y, type l, main Line Plot, xlab X-axis, ylab Y-axis)type参数的其他常用取值p仅点默认、b点线同时绘制、o线穿过点。在折线图上叠加多组数据时可用lines()追加配合col区分系列。若要更现代、更美观的可视化可在熟练掌握 Base R 绘图后进一步学习ggplot2的图层语法。四、向量操作进阶创建、索引与去重向量是 R 数据操作的基石docs/r.md 的向量章节以速查表形式集中给出了创建、子集选取与整理的常用写法下面逐一展开。创建向量表达式结果说明c(2, 4, 6)2 4 6将元素连接成向量2:62 3 4 5 6整数序列seq(2, 3, by0.5)2.0 2.5 3.0复杂序列按步长生成rep(1:2, times3)1 2 1 2 1 2重复整个向量rep(1:2, each3)1 1 1 2 2 2重复向量的每个元素c()拼接任意数量的元素:生成连续整数序列也常用于循环与切片seq(from, to, by)按指定步长生成序列length.out可指定生成个数rep(x, times n)整体重复n次rep(x, each n)则每个元素先重复n次——二者顺序完全不同是高频易混点。按位置选择元素表达式说明x[4]第四个元素x[-4]除了第四个之外的所有元素x[2:4]元素二到四x[-(2:4)]除二到四之外的所有元素x[c(1, 5)]元素一和元素五R 的索引从 1 开始与 Python 等语言不同负数索引表示排除x[-4]即返回除第 4 个元素外的全部元素x[c(1, 5)]展示了下标本身也可以是向量。按值选择元素表达式说明x[x 10]等于 10 的元素x[x 0]所有小于零的元素x[x %in% c(1, 2, 5)]集合 1, 2, 5 中的元素这一形式称为逻辑索引logical indexingx 10生成与x等长的逻辑向量[ ]据此挑选出对应位置为TRUE的元素。%in%是 R 特有的集合匹配运算符用于判断左侧向量的每个元素是否出现在右侧集合中是数据筛选如按 ID 列表取子集的高频写法。命名向量表达式说明x[apple]名为 apple 的元素向量元素可以命名例如x - c(apple 1, banana 2)。此时除按位置索引外还可以用名称字符串x[apple]直接取值x[[apple]]返回去掉名字的纯值这在字典式查询和代码可读性上非常实用。排序、反转、计数与去重表达式说明sort(x)返回排序后的 xrev(x)返回 x 的反转table(x)查看值的计数unique(x)查看唯一值sort(x)默认升序decreasing TRUE可降序order(x)则返回排序后的下标常用于按某列排序整个数据框rev(x)反转元素顺序table(x)生成频数表返回每个取值出现的次数是快速统计分布的工具unique(x)去除重复值后返回去重结果常与length()组合计算唯一值个数。五、在本仓库中查阅与本地预览这份清单这篇 R 备忘清单位于仓库的 docs/r.md并在首页 README.md 的编程分类中以R 语言卡片对外展示卡片图标对应 assets/r.svg。值得说明的是原文中的!--rehype:...--注释如row-span-2、col-span-2、wrap-text、left-align并非内容而是本项目特有的排版指令用于控制备忘清单卡片在网页上的网格跨行、跨列与文本换行样式这些排版约定在 docs/quickreference.md 中有完整的样式参考与用法说明读者若想了解这类速查表文档的撰写规范可参阅该文件以及 CONTRIBUTING.md如需本地预览可在克隆仓库后执行npm install安装依赖见 package.json再运行npm run build编译生成 HTML 到dist目录或使用npm start监听 Markdown 变更并实时编译。六、延伸学习资源备忘清单末尾还推荐了一系列深入学习方向均以 R 官方或社区公认的权威资料为参考此处仅作文字说明不附外部链接全面了解 Base R 的笔记型书籍适合系统补全基础语法R 语言官方网站获取官方文档与 CRAN 软件包仓库入口《数据科学 R》(R for Data Science)tidyverse 生态的入门经典《使用 R 进行整洁的建模》(Tidy Modeling with R)面向建模流程的实践指南使用 mlr3 进行应用机器学习的在线书籍覆盖完整机器学习工作流深度学习方向的书籍介绍 R 中的神经网络与深度学习实现rdrr.io 与 R Documentation 两个聚合检索站点可搜索任意 R 包、函数与文档。结合本篇速查清单从帮助系统、包管理与基础语法起步到向量索引与 Base R 绘图收尾你已具备独立阅读和编写 R 脚本所需的完整语法地图后续只需在实践中不断查阅 docs/r.md 原文即可快速积累实战经验。【免费下载链接】reference为开发人员分享快速参考备忘清单(速查表)项目地址: https://gitcode.com/jaywcjlove/reference创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表