【R语言从0到精通】-1-下载R语言与R最基础内容

在本科,没有人教的情况下,艰难的自学了R语言,因此我想能出一个R语言系列教程,在帮助大家的同时,温故而知新,特别如果你是生物或者医学从业者,那本教程正好合适,因为我也是生物人!如果你初学R语言,那么这个教程将会非常合适。

1.1 下载安装R语言与R-studio

熟悉python的朋友都知道,我们很少会直接用IDLE进行编程,而是会用比如jupyternotebook这样的平台进行编程,R语言也不例外,我们分别下载R的内核和R studio。

1.1.1 R下载

我们从中国的镜像进行下载:https://cran.r-project.org/mirrors.html

 我们从清华源下载R,选择为windows下载

选择install R for the first time

 选择最新版本下载:

 后面就是正常安装,但是注意安装路径一定不要有中文!

1.1.2 R studio安装 

官网下载链接:Download RStudio | The Popular Open-Source IDE from Posit 

点击download Rstudio 

现在改版了,直接可以下载exe了,不用再登录什么的了

后面我们就根据提示进行安装,但是我们要保证两点:

(1)安装路径不能有中文

(2)必须和刚刚下载的R在同一个大目录下,可以是同一个文件里的两个大文件夹。

这样就安装好了

1.2 认识R-studio的界面

我们把Rstudio界面分为4个部分:

(1)部分一:这是一个写代码的窗口,我们在里面可以输入很多暂时不执行的代码,我们也可以写一行运行一行,这是R语言和python不一样的地方,我们可以一行一行运行,运行的结果我们可以在工作台2这个界面看到。

(2)部分二:这个就比较像pyhon的运行界面,我们输入一点后就可以直接输出这一行命令的结果,一般是我们去查看一下表格或者运行一个非常简单的命令可以直接在console运行。

(3)部分三:这个见面可以看到我们运行代码后,产生的变量或者列表等的基本信息,在如python,我们新生成一个变量后,可能得输出才知道他是什么,但R可以直接查看

(4)部分四:这是一个大的模块,可以看到我们当前目录下的文件,画图的图及帮助文档

1.3 必须掌握的初试指令

1.3.1 获取帮助

 基本上每个包和大部分函数都有自己的帮助文档,这个比较像matlab的模式,我们学习一些基本的指令:

比较正式的搜索指令:

help.start()   #帮助文档首页
help(align)    #获取某一个函数的帮助文档

我们还可以用简单的方法得到帮助:

?ggplot2   #查找某一个包的帮助文档
??plot    #搜索所有有这个函数的包的文档

1.3.2 基本指令

首先我们要明白,我们运行R语言,可以在一个目标目录下,我们读取或者输出文件,可以直接在该目录路径下进行,当然我们也可以每次都输入路径进行执行,我们现在学习一些关于路径及基本操作的指令。

(1)通过getwd()获取当前目录:

(2)通过setwd()改变工作目录:

(3)其他基本指令

history()   #获取历史编写的代码命令
ls() #获取工作目录内容
options()  #基本设置显示
q()  #退出R语言

1.3.3 文件读取-read.csv()

R语言是一个强大的数据处理清洗软件,因此要处理文件的读取及处理完文件的输出非常重要。我们要养成多用csv文件格式的习惯,因为很多时候xlsx格式能承载的数据量有限,而我们在日常处理数据,比如基因组数据的时候,会面对上万的数据,因此csv文件格式是很好的选择,下面我介绍read.csv()函数:用于读取CSV(逗号分隔值)文件并将其内容导入到R环境中作为一个数据框(data frame)

1. 基本用法:data <- read.csv("path/to/your/file.csv")

2. 参数:

   - `file`: 一个字符串,表示要读取的文件的路径和名称。

   - `header`: 指示第一行是否包含列名。默认为`TRUE`,意味着假设第一行是列标题。

   - `sep`: 一个字符串,定义字段之间的分隔符。默认值为逗号(`,`),但也可以设置为其他分隔符如制表符(`\t`)或空格等。

   - `quote`: 一个字符,定义引号的字符。默认为双引号(`"`)。

   - `row.names`: 用来指定行名的来源。如果为`NULL`,则不从文件中读取行名。

   - `colClasses`: 一个字符向量,指定每列的数据类型。例如,`c("numeric", "character")`。

   - `na.strings`: 一个字符串或者字符串向量,指定哪些字符串应该被解释为缺失值(NA)。

   - `comment.char`: 一个字符,定义注释字符。任何以该字符开头的行都会被忽略。

   - `skip`: 一个整数,指定在读取数据之前跳过的行数。

   - `nrows`: 一个整数,指定要读取的最大行数。

   - `stringsAsFactors`: 一个逻辑值,指定字符串是否应该转换为因子。默认值为`TRUE`,但通常设置为`FALSE`以避免不必要的因子转换。

1.3.4 文件输出-write.csv()

我们在处理后,可以输出到指定的工作目录,我们使用write.scv()函数进行输出:

write.csv(x, file = "file.csv", row.names = TRUE, col.names = TRUE, quote = TRUE, sep = ",", eol = "\n", na = "NA", dec = ".", qmethod = c("escape", "backslash"), fileEncoding = ask)

x: 要写入CSV的数据框。
file: 输出的文件名。如果未指定路径,则默认在当前工作目录下创建该文件。
row.names: 一个逻辑值,指示是否将行名写入文件。默认为TRUE。
col.names: 一个逻辑值,指示是否将列名写入文件。默认为TRUE。
quote: 一个逻辑值或字符向量,控制如何引用字段。默认为TRUE,表示所有字段都会被引用。
sep: 字段分隔符。默认为逗号(,)。
eol: 行结束符。默认为换行符(\n)。
na: 缺失值的表示方法。默认为"NA"。
dec: 小数点的表示方法。默认为点(.)。
qmethod: 引号转义的方法。可以是"escape"(使用反斜杠进行转义)或"backslash"(使用反斜杠作为转义字符)。
fileEncoding: 文件的编码方式。如果设置为ask,则会提示用户输入编码方式。

1.4 包-package

在R语言中实现的大部分功能,都依赖强大的第三方包实现,因此学会如何安装包至关重要:

1.4.1 使用install.packages()函数

(1)方法一:比如我们要安装一个名为x的包:

install.packages(“x”)

(2)很多时候我们会遇到报错,这个时候我们可以下载到本地,然后再安装

1.4.2 包的载入及使用

我们载入一个新安装的包,我们可以按照以下步骤:

library(ggplot2)
help.start()
help(package = "ggplot2")
example(ggplot2)

1.5 小结

本篇我们学习了如何安装R语言及一些基本的R语言认识。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【计算机网络篇】数据链路层(4.1)可靠传输的相关概念

文章目录 &#x1f354;可靠传输的相关概念⭐分组丢失⭐分组失序⭐分组重复 &#x1f95a;注意 &#x1f354;可靠传输的相关概念 使用差错检测技术&#xff08;例如循环冗余校验CRC&#xff09;&#xff0c;接收方的数据链路层就可以检测出帧在传输过程中是否产生了误码&…

Yarn简介及Windows安装与使用指南

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

“预防儿童烧烫伤”科普安全课堂走进嘉鱼县第一小学

为提高嘉鱼县儿童烧烫伤安全意识、隐患识别能力以及突发应急处置能力&#xff0c;3月26日下午&#xff0c;在中国社会福利基金会烧烫伤关爱公益基金、嘉鱼县妇女联合会、嘉鱼县教育局的支持下&#xff0c;嘉鱼县蒲公英社会工作服务中心走进嘉鱼县第一小学开展预防儿童烧烫伤科普…

Unity2018发布安卓报错 Exception: Gradle install not valid

Unity2018发布安卓报错 Exception: Gradle install not valid Exception: Gradle install not valid UnityEditor.Android.GradleWrapper.Run (System.String workingdir, System.String task, System.Action1[T] progress) (at <c67d1645d7ce4b76823a39080b82c1d1>:0) …

探索智慧农业精准除草,基于高精度YOLOv5全系列参数【n/s/m/l/x】模型开发构建农田作物场景下杂草作物分割检测识别分析系统

智慧农业是未来的一个新兴赛道&#xff0c;随着科技的普及与落地应用&#xff0c;会有更加广阔的发展空间&#xff0c;关于农田作物场景下的项目开发实践&#xff0c;在我们前面的博文中也有很堵相关的实践&#xff0c;单大都是偏向于目标检测方向的&#xff0c;感兴趣可以自行…

QT布局管理和空间提升为和空间间隔

QHBoxLayout&#xff1a;按照水平方向从左到右布局&#xff1b; QVBoxLayout&#xff1a;按照竖直方向从上到下布局&#xff1b; QGridLayout&#xff1a;在一个网格中进行布局&#xff0c;类似于HTML的table&#xff1b; 基本布局管理类包括&#xff1a;QBoxLayout、QGridL…

ubuntu编译OpenCV and seetaFace2

opencv opencv-4.5.2 opencv_contrib-4.5.2 SeetaFace2 SeetaFace2-master https://github.com/seetafaceengine 指定安装目录&#xff0c;和OpenCV放一个目录下了 安装前 安装 安装后 Qt安装 Windows下 Linux下 报错1 原因&#xff1a; 报错…

20221124 kafka实时数据写入Redis

一、上线结论 实现了将用户线上实时浏览的沉浸式视频信息&#xff0c;保存在Redis中这样一个功能。为实现沉浸式视频离线推荐到实时推荐提供了强有力的支持。目前只是应用在沉浸式场景&#xff0c;后续也能扩展到其他所有场景。用于两个场景&#xff1a;&#xff08;1&#xf…

【SQL】1661. 每台机器的进程平均运行时间 (四种写法;自连接;case when;窗口函数lead();)

前述 Sql窗口分析函数【lead、lag详解】 Hive 分析函数lead、lag实例应用 lag &#xff1a;用于统计窗口内往上第n行值lead &#xff1a;用于统计窗口内往下第n行值 lead(列名,1,0) over (partition by 分组列 order by 排序列 rows between 开始位置 preceding and 结束位置…

ChatGPT与传统搜索引擎的区别:智能对话与关键词匹配的差异

引言 随着互联网的快速发展&#xff0c;信息的获取变得比以往任何时候都更加便捷。在数字化时代&#xff0c;人们对于获取准确、及时信息的需求愈发迫切。传统搜索引擎通过关键词匹配的方式为用户提供了大量的信息&#xff0c;然而&#xff0c;这种机械式的检索方式有时候并不…

Mysql数据库-DQL查询

Mysql数据库-DQL基本查询 1 DQL基本查询1.1 基础查询1.2 WHERE子句1&#xff09;算术运算符2&#xff09;逻辑运算符3&#xff09;比较运算符A&#xff09;BETWEEN... AND ...B&#xff09;IN(列表)C&#xff09;NULL值判断 4&#xff09;综合练习 2 DQL高级查询2.1 LIKE 模糊查…

Triton推理服务器部署YOLOv8实战

课程链接&#xff1a;Triton推理服务器部署YOLOv8实战_在线视频教程-CSDN程序员研修院 Triton Inference Server&#xff08;Triton 推理服务器&#xff09;是一个高性能、灵活、可扩展的推理服务器&#xff0c;支持多种机器学习框架&#xff08;PyTorch、ONNX等&#xff09;和…

核验用户提供的身份证号和姓名是否一致的实名认证接口、C#调用

为什么要进行实名认证&#xff1f;互联网时代&#xff0c;网民在网上进行遨游的过程中&#xff0c;我们无法辨别其身份的真伪&#xff0c;网民财产安全没有保障&#xff0c;因此当平台用户在进行注册时&#xff0c;都会要求提供身份证信息使用实名认证接口来判断身份信息的真实…

无忧微服务:如何实现大流量下新版本的发布自由

作者&#xff1a;项良、十眠 微服务上云门槛降低&#xff0c;用好微服务才是关键 据调研数据显示&#xff0c;约 70% 的生产故障是由变更引起的。在阿里云上的企业应用如茶百道、极氪汽车和来电等&#xff0c;他们是如何解决变更引起的稳定性风险&#xff0c;实现了在白天高流…

牛客NC26 括号生成【中等 递归 Java,Go,PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/c9addb265cdf4cdd92c092c655d164ca 思路 答案链接&#xff1a;https://www.lintcode.com/problem/427/solution/16924 参考答案Java import java.util.*;public class Solution {/*** 代码中的类名、方法名、参…

江协科技STM32:按键控制LED光敏传感器控制蜂鸣器

按键控制LED LED模块 左上角PA0用上拉输入模式&#xff0c;如果此时引脚悬空&#xff0c;PA0就是高电平&#xff0c;这种方式下&#xff0c;按下按键&#xff0c;引脚为低电平&#xff0c;松下按键&#xff0c;引脚为高电平 右上角PA0&#xff0c;把上拉电阻想象成弹簧 当按键…

【电路笔记】-交流电路波形的形状因子

波形的形状因子 文章目录 波形的形状因子1、概述2、正弦波波形因子3、波形因子示例14、波形因子示例25、单相半波整流波形6、单相全波整流波形7、三角波形形状因子8、锯齿波形因子9、方波和脉冲波形10、总结波形因子描述波形的形状或结构,是其均方根值与其平均值的比率。 1、概…

nacos的各种类型的配置文件 yml 、json、 Properties、 text 等文件类型 发生变化怎么热更新,实现实时监听nacos配置文件变化

本文用的是 Nacos作为配置中心注册监听器方法 实现热更新 nacos 配置文件 从而不用重启项目 依赖、工具类 这边就不写了 因为项目用的是 Json 类型的配置文件 所以下文 主要是对json文件进行实现 别的文件大同小异 先说扯淡的东西 在nacos 的配置文件中 dataId 这两种声明 是…

eclipse自动跳到console 解决办法

eclipse启动服务后&#xff0c;想看一些properties信息或者别的&#xff0c;但老是自动跳转到console页面&#xff0c;下面是解决办法&#xff1a; Eclipse中按照如下顺序找到设置菜单的位置&#xff1a; Window — Preferences — Run/Debug — Console 找到以下两项&#xf…

网络:udptcp套接字

目录 协议 网络传输基本流程 网络编程套接字 udp套接字编程 udp相关代码实现 sock函数 bind函数 recvfrom函数 sendto函数 udp执行指令代码 popen函数 udp多线程版收发消息 tcp套接字编程 tcp套接字代码 listen函数 accept函数 read/write函数 connect函数 recv/…