R语言基础| 下载、安装

news2025/6/6 22:00:24

在此前的单细胞教程中,许多小伙伴都曾因为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)

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2400666.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微软的新系统Windows12未来有哪些新特性

在今年即将到来的重大设计升级中,苹果计划对其全线操作系统统一按年份命名,作为另一巨头微软的win12还远吗?win11和win10是微软现在正在用的主流版本,win11系统发布于2021年6月24日,win10系统发布于2015年7月29日。预计win12尝鲜版可能在2025年下半年或明年。 尽管win12还…

在虚拟宇宙中低语——进程间通信,Linux命名管道的前世今生

文章目录 &#x1f30c; 序章&#x1f320; 一、命名管道的宿命与哲学1.1、创建及简单使用1.2、命名管道的工作原理1.3、命名管道与匿名管道的区别 2、命名管道的特点及特殊场景2.1、特点2.2、四种特殊场景 3、命名管道实操3.1、实现文件拷贝3.2、实现进程控制 小结 &#x1f3…

STM32的ADC简介

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

Bash shell四则运算

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

(javaSE)Java数组进阶:数组初始化 数组访问 数组中的jvm 空指针异常

数组的基础 什么是数组呢? 数组指的是一种容器,可以用来存储同种数据类型的多个值 数组的初始化 初始化&#xff1a;就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程。 数组初始化的两种方式&#xff1a;静态初始化&#xff0c;动态初始化 数组的静态初始化 初始化…

力扣刷题Day 70:在排序数组中查找元素的第一个和最后一个位置(34)

1.题目描述 2.思路 方法1&#xff08;自己写的&#xff09;&#xff1a;一次二分查找找到等于target的一个元素索引axis&#xff0c;然后向左右延伸找边界。 方法2&#xff08;灵茶山艾府佬的闭区间二分查找写法&#xff09;&#xff1a;定义一个lower_bound()函数找到第一个…

图片压缩工具 | 图片属性详解及读取解析元数据

ℹ️ 图片信息及属性 基本属性 格式类型&#xff1a;JPEG、PNG、GIF、WEBP、BMP、TIFF等文件大小&#xff1a;以KB、MB等为单位的存储空间占用创建/修改日期&#xff1a;文件的元数据时间戳 视觉属性 尺寸/分辨率 宽度&#xff08;像素&#xff09;高度&#xff08;像素&…

C# Onnx 动漫人物人脸检测

目录 效果 模型信息 项目 代码 下载 参考 效果 模型信息 Model Properties ------------------------- stride&#xff1a;32 names&#xff1a;{0: face} --------------------------------------------------------------- Inputs ------------------------- name&am…

C++内存列传之RAII宇宙:智能指针

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

PVE 虚拟机安装 Ubuntu Server V24 系统 —— 一步一步安装配置基于 Ubuntu Server 的 NodeJS 服务器详细实录1

前言 最近在基于 NodeJS V22 写一个全栈的项目&#xff0c;写好了&#xff0c;当然需要配置服务器部署啦。这个过程对于熟手来说&#xff0c;还是不复杂的&#xff0c;但是对于很多新手来说&#xff0c;可能稍微有点困难。所以&#xff0c;我把整个过程全部记录一下。 熟悉我…

TDengine 开发指南——高效写入

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

Linux kill 暂停命令

暂停进程 kill -19 在一台服务器上部署了360Pika服务&#xff0c;先用RedisClient连接一下&#xff0c;可以连接 现在暂停进程 暂停后发现再次连接无法连接 恢复进程 kill -18 恢复后可连接

2.0 阅读方法论与知识总结

引言 本文将详细分析考研英语阅读做题步骤&#xff0c;并对方法论进行总结&#xff0c;最后通过真题练习巩固方法。 一、做题步骤 所有技巧都建立在精读真题的基础上&#xff01;建议按以下节奏复习&#xff1a; 1️⃣ 做题 先看题干了解文章大致主旨&#xff08;看看有没有…

5. Qt中.pro文件(1)

本节主要讲.pro文件的作用和一些相关基础知识与操作。 本文部分ppt、视频截图原链接&#xff1a;[萌马工作室的个人空间-萌马工作室个人主页-哔哩哔哩视频] 1 PRO文件 1.1 pro文件作用 添加需要用到的QT模块&#xff0c;如通过QT module_name来添加需要用到的Qt模块。指定生…

简数采集技巧之快速获取特殊链接网址URL方法

简数采集器列表页提取器的默认配置规则&#xff1a;获取a标签的href属性值作为采集的链接网址&#xff0c;对于大部分网站都是适用的&#xff1b; 但有些网站不使用a标签作为链接跳转&#xff0c;而用javascript的onclick事件替代&#xff0c;那列表页提取器的默认规则将无法获…

AI 如何改变软件文档生产方式?

现代软件工程中的文档革命&#xff1a;从附属品到核心组件的范式升级 在数字化转型浪潮席卷全球的当下&#xff0c;软件系统的复杂度与规模呈现指数级增长。据Gartner最新研究显示&#xff0c;超过67%的企业软件项目延期或超预算的根本原因可追溯至文档系统的缺陷。这一现象在…

激光干涉仪:解锁协作机器人DD马达的精度密码

在工业4.0的浪潮中&#xff0c;协作机器人正以惊人的灵活性重塑生产线——它们与工人并肩作业&#xff0c;精准搬运零件&#xff0c;完成精密装配。还能协同医生完成手术&#xff0c;甚至制作咖啡。 标准的协作机器人关节模组由角度编码器、直驱电机(DD马达)、驱动器、谐波减速…

HOPE800系列变频器安装到快速调试的详细操作说明

以下是HOPE800系列变频器从安装到调试的详细操作说明及重要参数设置&#xff0c;适用于工程技术人员或具备电气基础的操作人员。请严格遵循安全规范操作。 以下面电机铭牌为例&#xff1a; HOPE800变频器安装与调试指南** &#xff08;安全第一&#xff01;操作前务必断电并确…

vCenter与ESXi主机每分钟周期性断连修复

问题概述 最近我的测试服务器借给客户用作临时中转&#xff0c;仅更改了ESXi的管理IP&#xff0c;设备拿回来改回原来IP&#xff0c;vCenter开启后重新接收证书&#xff0c;主机和所有VM管理运行正常&#xff0c;跑着跑着发现主机和vCenter会频繁断开连接后又马上自动恢复&…

web3-区块链困境破解指南:从数字化签名到Rollup 到分片

web3-区块链三难困境破解指南&#xff1a;从数字化签名到Rollup 到分片 数字化签名 实体的签名&#xff1a;将交易和签名者绑定在一起 在数字世界的问题是&#xff1a; 任何人都可以从任一文档复制Bob的签名放到自己想放的地方。 解决方案&#xff1a;让签名由文件来决定 b…