R语言基础| 下载、安装
在此前的单细胞教程中,许多小伙伴都曾因为R语言基础不足而十分苦恼。R语言是一种开源的编程语言和软件环境,专门用于统计分析、图形表示和数据挖掘。它最初由Ross Ihaka和Robert Gentleman在1993年创建,旨在为统计学家和数据分析师提供一个广泛的统计(线性和非线性建模、经典统计测试、时间序列分析、分类、聚类等)和图形技术的集成环境。R语言以其强大的数据处理能力、图形系统以及在统计计算和图形显示方面的灵活性而闻名。此外,R语言具有一个庞大的用户社区,提供了大量的包(libraries)和工具,用于扩展其基本功能。
在生物信息学领域,R语言被广泛应用于基因组学、蛋白质组学、代谢组学等生物数据分析中,原因包括:
1.统计分析能力:生物信息学涉及大量的统计分析,如差异表达分析、基因组关联研究、群体遗传学分析等。R语言提供了强大的统计测试、模型建立和数据分析工具,能有效处理和分析生物学数据。
2.生物信息学专用包:R社区开发了数以千计的软件包,专门针对生物信息学的需求。例如,Bioconductor项目提供了一系列用于基因组学、转录组学、表观遗传学等领域的分析工具和数据集,大大简化了生物信息学的数据处理和分析过程。
3.数据可视化:R语言的强大图形功能使得生物信息学家可以创建高质量的数据可视化图表,如热图、聚类图和基因表达图,这对于数据解释和结果展示至关重要。
4.灵活性和可扩展性:R语言允许用户编写自定义函数和软件包,以满足特定的分析需求。这种灵活性对于应对生物信息学中的复杂和不断变化的数据分析挑战尤为重要。
5.广泛的社区支持:R语言拥有一个庞大的用户和开发者社区,为生物信息学家提供了丰富的资源、教程和论坛,便于学习交流和问题解决。
综上,从本篇推文开始,我们将开展一系列R语言基础的教程,更多学习资料可见:R语言基础学习手册
1.1 R下载与安装
https://cran.r-project.org/
根据电脑系统选择不同的R版本
1.mac系统的则根据macOS版本号选择合适的安装包,下载并安装即可。
2.windows系统的则按以下步骤下载并安装即可。
3.Linux系统
Linux系统参考我们以前的教程:Rstudio-server的安装、配置、维护
1.1.1 RStudio
RStudio是一款集成开发环境(IDE)。R自带的环境操作起来可能不是很方便,而Rstudio很好地解决了这个问题,且具有调试、可视化等功能,支持纯R脚本、Rmarkdown、Bookdown、Shiny等。
1.1.1.1 Rstudio的下载与安装
下载网址:
https://posit.co/download/rstudio-desktop/
会跳出适合您电脑系统的Rstudio,下载安装即可。
1.1.2 R的帮助函数
函数 | 操作 |
---|---|
help.start() | 输出通用的帮助信息 |
help(“foo”)或?foo | 输出函数foo()的帮助信息 |
help(package =“foo”) | 输出foo包的帮助信息 |
help.search(“foo”)或??foo | 在帮助系统中查找名称中带有字符串foo的实例(包、类、函数等)的帮助信息 |
example(“foo”) | 输出foo()的示例信息(可以省略引号) |
data() | 列出当前已加载的包中的所有可用的示例数据集 |
vignette() | 列出当前已加载的所有可用的简介信息 |
vignette(“foo”) | 输出主题foo的简介信息 |
1.1.3 用于管理R工作区的函数
函数 | 功能 |
---|---|
getwd() | 显示当前的工作目录 |
setwd(“路径”) | 设置或修改当前的工作目录 |
Is() | 列出当前工作区中的对象 |
rm(objectlist) | 移除(删除)一个或多个对象 |
help(options) | 显示可用选项的说明 |
options() | 显示或设置当前选项 |
save.image(“myfile”) | 保存工作区到文件myfile中(默认值为.RData) |
save(objectlist,file=“myfile”) | 保存指定对象到一个文件中 |
load(“myfile”) | 读取一个工作区到当前会话中(默认值为.RData) |
dir.create() | 创建新目录 |
1.2 包(Packages)
1.2.1 包的基本函数
这里涉及需要包名的地方用 tidyr 举例,实操中需要其他包则改为具体的包名;
函数 | 操作 |
---|---|
.libPaths() | 显示库(库即存储包的目录)所在的位置 |
library() | 显示库中有哪些包 |
search() | 显示哪些包已被加载并可以使用 |
install.packages(“tidyr”) | 安装tidyr包,注意双引号必须有 |
update.packages(“tidyr”) | 更新包,注意双引号必须有 |
library(tidyr) | 加载包,无需引号 |
installed.packages() | 列出已安装的包 |
1.2.2 包处理大型数据集的示例展示
help.start()
## 打开httpd帮助服务器… 好了
## 如果什么都不发生的话,你应该自己打开'http://127.0.0.1:14344/doc/html/index.html'
## Error in shell.exec(url): 无法同'http://127.0.0.1:14344/doc/html/index.html'文件关联
help(package="vcd")
library(vcd)
## Warning: 程辑包'vcd'是用R版本4.3.2 来建造的
## 载入需要的程辑包:grid
help(Arthritis)
## Error in shell.exec(url): 无法同'http://127.0.0.1:14344/library/vcd/html/Arthritis.html'文件关联
Arthritis
## ID Treatment Sex Age Improved
## 1 57 Treated Male 27 Some
## 2 46 Treated Male 29 None
## 3 77 Treated Male 30 None
## 4 17 Treated Male 32 Marked
## 5 36 Treated Male 46 Marked
## 6 23 Treated Male 58 Marked
## 7 75 Treated Male 59 None
## 8 39 Treated Male 59 Marked
## 9 33 Treated Male 63 None
## 10 55 Treated Male 63 None
## 11 30 Treated Male 64 None
## 12 5 Treated Male 64 Some
## 13 63 Treated Male 69 None
## 14 83 Treated Male 70 Marked
## 15 66 Treated Female 23 None
## 16 40 Treated Female 32 None
## 17 6 Treated Female 37 Some
## 18 7 Treated Female 41 None
## 19 72 Treated Female 41 Marked
## 20 37 Treated Female 48 None
## 21 82 Treated Female 48 Marked
## 22 53 Treated Female 55 Marked
## 23 79 Treated Female 55 Marked
## 24 26 Treated Female 56 Marked
## 25 28 Treated Female 57 Marked
## 26 60 Treated Female 57 Marked
## 27 22 Treated Female 57 Marked
## 28 27 Treated Female 58 None
## 29 2 Treated Female 59 Marked
## 30 59 Treated Female 59 Marked
## 31 62 Treated Female 60 Marked
## 32 84 Treated Female 61 Marked
## 33 64 Treated Female 62 Some
## 34 34 Treated Female 62 Marked
## 35 58 Treated Female 66 Marked
## 36 13 Treated Female 67 Marked
## 37 61 Treated Female 68 Some
## 38 65 Treated Female 68 Marked
## 39 11 Treated Female 69 None
## 40 56 Treated Female 69 Some
## 41 43 Treated Female 70 Some
## 42 9 Placebo Male 37 None
## 43 14 Placebo Male 44 None
## 44 73 Placebo Male 50 None
## 45 74 Placebo Male 51 None
## 46 25 Placebo Male 52 None
## 47 18 Placebo Male 53 None
## 48 21 Placebo Male 59 None
## 49 52 Placebo Male 59 None
## 50 45 Placebo Male 62 None
## 51 41 Placebo Male 62 None
## 52 8 Placebo Male 63 Marked
## 53 80 Placebo Female 23 None
## 54 12 Placebo Female 30 None
## 55 29 Placebo Female 30 None
## 56 50 Placebo Female 31 Some
## 57 38 Placebo Female 32 None
## 58 35 Placebo Female 33 Marked
## 59 51 Placebo Female 37 None
## 60 54 Placebo Female 44 None
## 61 76 Placebo Female 45 None
## 62 16 Placebo Female 46 None
## 63 69 Placebo Female 48 None
## 64 31 Placebo Female 49 None
## 65 20 Placebo Female 51 None
## 66 68 Placebo Female 53 None
## 67 81 Placebo Female 54 None
## 68 4 Placebo Female 54 None
## 69 78 Placebo Female 54 Marked
## 70 70 Placebo Female 55 Marked
## 71 49 Placebo Female 57 None
## 72 10 Placebo Female 57 Some
## 73 47 Placebo Female 58 Some
## 74 44 Placebo Female 59 Some
## 75 24 Placebo Female 59 Marked
## 76 48 Placebo Female 61 None
## 77 19 Placebo Female 63 Some
## 78 3 Placebo Female 64 None
## 79 67 Placebo Female 65 Marked
## 80 32 Placebo Female 66 None
## 81 42 Placebo Female 66 None
## 82 15 Placebo Female 66 Some
## 83 71 Placebo Female 68 Some
## 84 1 Placebo Female 74 Marked
example(Arthritis)
##
## Arthrt> data("Arthritis")
##
## Arthrt> art <- xtabs(~ Treatment + Improved, data = Arthritis, subset = Sex == "Female")
##
## Arthrt> art
## Improved
## Treatment None Some Marked
## Placebo 19 7 6
## Treated 6 5 16
##
## Arthrt> mosaic(art, gp = shading_Friendly)
##
## Arthrt> mosaic(art, gp = shading_max)
相关文章:

R语言基础| 下载、安装
在此前的单细胞教程中,许多小伙伴都曾因为R语言基础不足而十分苦恼。R语言是一种开源的编程语言和软件环境,专门用于统计分析、图形表示和数据挖掘。它最初由Ross Ihaka和Robert Gentleman在1993年创建,旨在为统计学家和数据分析师提供一个广…...
【hive sql】窗口函数
参考 包括窗口函数在内的执行顺序 from & join --确定数据源 where --行级过滤 group by --分组 having --组级过滤 窗口函数 --计算窗口函数结果 select --选择列 distinct --去重 order by --最终排序(可对窗口函数结果进行排序) limit/offset -…...
Ubuntu24.04 交叉编译 aarch64 ffmpeg
ffmpeg 官网: https://ffmpeg.org文档: https://ffmpeg.org/documentation.html 编译参数说明: https://trac.ffmpeg.org/wiki/CompilationGuide/Generic在Linux下编译: https://trac.ffmpeg.org/wiki/CompilationGuide 下载页: https://ffmpeg.org/download.html 安装依赖 …...
《AI角色扮演反诈技术解析:原理、架构与核心挑战》
AI角色扮演反诈技术解析:原理、架构与核心挑战 研究目标 技术栈梳理: 系统总结AI角色扮演在执法场景中的实现路径,涵盖大型语言模型(LLM)、提示词工程(Prompt Engineering)、多模态交互链路等…...

微软的新系统Windows12未来有哪些新特性
在今年即将到来的重大设计升级中,苹果计划对其全线操作系统统一按年份命名,作为另一巨头微软的win12还远吗?win11和win10是微软现在正在用的主流版本,win11系统发布于2021年6月24日,win10系统发布于2015年7月29日。预计win12尝鲜版可能在2025年下半年或明年。 尽管win12还…...
树莓派超全系列教程文档--(54)如何使用rsync在计算机之间同步文件夹
如何使用rsync在计算机之间同步文件夹 使用 rsync 在计算机之间同步文件夹 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rsync 在计算机之间同步文件夹 您可以使用 rsync 在计算机之间同步文件夹。例如,您可以使用 rsync 将R…...
华为ICT和AI智能应用
在华为的业务布局中,AI智能创新则贯穿于华为多个业务领域,二者紧密相关,共同推动华为及相关行业的发展。以下是具体介绍: Techco转型 - 背景:随着5G - A、云、人工智能等技术的发展,运营商从传统连接服…...
ROS2与Unitree机器人集成指南
Tested systems and ROS2 distro systemsROS2 distroUbuntu 20.04foxyUbuntu 22.04humblesrc目录上级才可以colcon build git clone https://github.com/unitreerobotics/unitree_ros2 Install Unitree ROS2 package 1. Dependencies sudo apt install ros-humble-rmw-cyclon…...

在虚拟宇宙中低语——进程间通信,Linux命名管道的前世今生
文章目录 🌌 序章🌠 一、命名管道的宿命与哲学1.1、创建及简单使用1.2、命名管道的工作原理1.3、命名管道与匿名管道的区别 2、命名管道的特点及特殊场景2.1、特点2.2、四种特殊场景 3、命名管道实操3.1、实现文件拷贝3.2、实现进程控制 小结 dz…...
Cursor 工具项目构建指南:Java 21 环境下的 Spring Boot Prompt Rules 约束
简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 Cursor 工具项目构建指南:Java 21 环境下的 Spring Boot Prompt Rules 约束前言项目简…...
各个布局的区别以及示例
各个布局的区别以及示例 在前端开发中,常见的布局方式主要有以下几种,每种布局都有其适用场景和特点: 1. 普通文档流(Normal Flow) 特点:默认布局方式,元素按照HTML顺序依次排列。适用场景&am…...
什么是MVC?
导语: 在Java后端面试中,“MVC架构”是绕不开的基础话题。它不仅关乎项目的整体设计思路,更体现了候选人的架构理解能力与编码规范意识。本文将从面试官视角出发,结合高频问题、代码示例、答题技巧与加分项,带你全面吃…...

STM32的ADC简介
一、ADC简介 STM32的ADC是一种12位逐次逼近型模拟数字转换器。它具备18个通道,能够测量16个外部信号源以及2个内部信号源。各通道的A/D转换可以执行单次、连续、扫描或间断模式。转换结果可采用左对齐或右对齐的方式(12位)存储于16位数据寄存…...

Bash shell四则运算
文章目录 四则运算1. expr 命令2. $(( )) 表达式(推荐)3. $[ ] 表达式(已弃用)4. let 命令小数运算i 和 i 区别 四则运算 算术运算: - * / %(取模,求余数) Bash sh…...

(javaSE)Java数组进阶:数组初始化 数组访问 数组中的jvm 空指针异常
数组的基础 什么是数组呢? 数组指的是一种容器,可以用来存储同种数据类型的多个值 数组的初始化 初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程。 数组初始化的两种方式:静态初始化,动态初始化 数组的静态初始化 初始化…...

力扣刷题Day 70:在排序数组中查找元素的第一个和最后一个位置(34)
1.题目描述 2.思路 方法1(自己写的):一次二分查找找到等于target的一个元素索引axis,然后向左右延伸找边界。 方法2(灵茶山艾府佬的闭区间二分查找写法):定义一个lower_bound()函数找到第一个…...
vue 多端适配之pxtorem
在 Vue 3 Vite 项目中使用 postcss-pxtorem 自动将 px 单位转换为 rem 单位,可以按照以下步骤配置: 一、基础版本 1. 安装依赖 首先安装必要的插件: npm install postcss postcss-pxtorem autoprefixer -D # 或 yarn add postcss postcs…...

图片压缩工具 | 图片属性详解及读取解析元数据
ℹ️ 图片信息及属性 基本属性 格式类型:JPEG、PNG、GIF、WEBP、BMP、TIFF等文件大小:以KB、MB等为单位的存储空间占用创建/修改日期:文件的元数据时间戳 视觉属性 尺寸/分辨率 宽度(像素)高度(像素&…...
React---day8
9.6 不可变数据的力量 我们知道是不能够修改this.state里面的数据的 举个例子 export class App extends React.PureComponent{constructor(){super();this.state {userList:[{name : "tom" , age : 18},{name : "lily" , age : 20},{name : "tik…...

C# Onnx 动漫人物人脸检测
目录 效果 模型信息 项目 代码 下载 参考 效果 模型信息 Model Properties ------------------------- stride:32 names:{0: face} --------------------------------------------------------------- Inputs ------------------------- name&am…...

C++内存列传之RAII宇宙:智能指针
文章目录 1.为什么需要智能指针?2.智能指针原理2.1 RAll2.2 像指针一样使用 3.C11的智能指针3.1 auto_ptr3.2 unique_ptr3.3 shared_ptr3.4 weak_ptr 4.删除器希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力! 智能指针是 C 中用于自动…...

PVE 虚拟机安装 Ubuntu Server V24 系统 —— 一步一步安装配置基于 Ubuntu Server 的 NodeJS 服务器详细实录1
前言 最近在基于 NodeJS V22 写一个全栈的项目,写好了,当然需要配置服务器部署啦。这个过程对于熟手来说,还是不复杂的,但是对于很多新手来说,可能稍微有点困难。所以,我把整个过程全部记录一下。 熟悉我…...
GitHub 趋势日报 (2025年06月03日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 2404 onlook 860 system-design-primer 380 nautilus_trader 372 agent-zero 357 …...
出现dev/nvmeOnip2 contains a file system with errors, check forced 解决方法
目录 前言1. 问题所示2. 原理分析3. 解决方法4. 彩蛋前言 爬虫神器,无代码爬取,就来:bright.cn Java基本知识: java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目】实战CRUD的功能整理(持续更新)1. 问题所示 出现如下问题: dev/nvmeOnip2 co…...
Vue3.5 企业级管理系统实战(二十二):动态菜单
在前几篇内容中已完成菜单、角色及菜单权限等相关开发,若要在左侧菜单根据用户角色动态展示菜单,需对 Sidebar 中的相关数据进行修改。鉴于其他相关方法及类型已在前文实现,本文不再重复阐述。 1 修改 Sidebar 组件 在 src/layout/componen…...
磨皮功能 C++/C的OpenCV 实现
磨皮功能 C/C的OpenCV 实现 前提条件 OpenCV 安装: 你需要正确安装 OpenCV 库。C 编译器: 如 G。 C 代码 #include <opencv2/opencv.hpp> #include <iostream> #include <string>// 使用标准命名空间 using namespace std; using …...
蓝牙防丢器应用方案
蓝牙防丢器通常由两个主要部分构成:一个小型装置,亦称为标签,以及一个与之配对的手机应用程序。该标签内置一个微型蓝牙芯片,能够与配对的手机应用程序进行通信。一旦标签与手机之间的连接中断,手机应用程序便会接收到…...

TDengine 开发指南——高效写入
高效写入 本章内容将介绍如何发挥 TDengine 最大写入性能,通过原理解析到参数如何配置再到实际示例演示,完整描述如何达到高效写入。 为帮助用户轻松构建百万级吞吐量的数据写入管道,TDengine 连接器提供高效写入的特性。 启动高效写入特性…...

Linux kill 暂停命令
暂停进程 kill -19 在一台服务器上部署了360Pika服务,先用RedisClient连接一下,可以连接 现在暂停进程 暂停后发现再次连接无法连接 恢复进程 kill -18 恢复后可连接...
Unity与Excel表格交互热更方案
在Unity中实现与Excel表格的交互并支持热更是许多游戏开发中的常见需求。以下是几种实现方案: 1. 使用ScriptableObject存储表格数据 实现步骤: 将Excel表格导出为CSV格式 编写编辑器脚本将CSV数据导入到ScriptableObject 在运行时通过Resources或Ad…...