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

news2024/9/29 16:14:33

在本科,没有人教的情况下,艰难的自学了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语言认识。

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

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

相关文章

Microsoft .NET 应用程序性能监控

什么是 .NET监控 Microsoft .NET 监视在确保可以开发和部署应用程序而不必面对性能滞后或中断方面发挥着重要作用。它使用警报、增长趋势报告和数据可视化技术来帮助管理员确保 Microsoft .NET 平台的全天候可用性。Microsoft.NET 性能监视是一种检测性能异常的先发制人方法&a…

2024年腾讯云4核8g服务器并发数、优惠价格、支持多少人在线?

腾讯云4核8G服务器价格&#xff1a;轻量4核8G12M优惠价格646元15个月、CVM S5服务器4核8G配置1437元买1年送3个月。腾讯云4核8G服务器支持多少人同时在线&#xff1f;支持30个并发数&#xff0c;可容纳日均1万IP人数访问。腾讯云百科txybk.com整理4核8G服务器支持多少人同时在线…

动手学机器学习笔记

初探机器学习 “两只手”代表的是人工智能可以做的两大类任务&#xff0c;即预测与决策。 “四条腿”则代表支撑人工智能的四大类科学技术&#xff0c;包括搜索、推理、学习和博弈。 非参数化模型&#xff08;nonparametric model&#xff09;&#xff1a;与参数化模型相反&…

四川易点慧电子商务抖音小店:安全购物,无忧体验

在当今这个电子商务飞速发展的时代&#xff0c;线上购物已成为人们日常生活中不可或缺的一部分。然而&#xff0c;随着网络交易的日益频繁&#xff0c;安全问题也逐渐成为了消费者最为关注的问题之一。四川易点慧电子商务抖音小店深知消费者的担忧&#xff0c;始终将安全保障放…

2024消息预知在线客服系统php网站源码

新增消息预知&#xff0c;消息撤回&#xff0c;消息已读未读&#xff0c; 修复需要刷新才能收到消息 修复客户来源地址 修复消息提示音 修复桌面推送提醒 要求服务器环境&#xff1a; 宝塔面板 &#xff0c;Nginx1.16-1.18&#xff0c;7.2.23<php<7.3&#xff08;因…

LabVIEW单片机的废气再循环EGR检测系统

LabVIEW单片机的废气再循环EGR检测系统 实现了一种基于LabVIEW和STM32F103VET6单片机的EGR&#xff08;废气再循环&#xff09;检测系统&#xff0c;监测和控制船用二冲程柴油机的EGR运行状态。通过替代传统的NI采集卡&#xff0c;系统不仅降低了成本&#xff0c;同时也提升了数…

居家办公:职场新趋势与挑战

随着科技的飞速发展&#xff0c;互联网和智能设备的普及&#xff0c;居家办公逐渐成为职场新趋势。近年来&#xff0c;受疫情影响&#xff0c;许多企业纷纷采取居家办公模式&#xff0c;以保障员工健康安全。然而&#xff0c;居家办公在带来便利的同时&#xff0c;也带来了一系…

基于Pytorch的验证码识别模型应用

前言 在做OCR文字识别的时候&#xff0c;或多或少会接触一些验证码图片&#xff0c;这里收集了一些验证码图片&#xff0c;可以对验证码进行识别&#xff0c;可以识别4到6位&#xff0c;纯数字型、数字字母型和纯字母型的一些验证码&#xff0c;准确率还是相当高&#xff0c;需…

机器学习——聚类算法-KMeans聚类

机器学习——聚类算法-KMeans聚类 在机器学习中&#xff0c;聚类是一种无监督学习方法&#xff0c;用于将数据集中的样本划分为若干个簇&#xff0c;使得同一簇内的样本相似度高&#xff0c;不同簇之间的样本相似度低。KMeans聚类是一种常用的聚类算法之一&#xff0c;本文将介…

【秒杀】网课视频播放速度太慢,js提升网页视频播放速率,在浏览器中修改视频播放速度

目录 前言&#xff08;写这篇文章的缘由&#xff09; 问题描述 解决方法 1、打开开发者工具 2、点击控制台 3、输入下面这行代码 番外 自定义视频速度 番外的番外&#xff08;这块可以不看&#xff09; 结语 前言&#xff08;写这篇文章的缘由&#xff09; 作为一名2…

看一遍就理解:IO模型详解

大家好&#xff0c;今天我们一起来学习IO模型。在本文开始前呢&#xff0c;先问问大家几个问题哈~ 什么是IO呢&#xff1f;什么是阻塞非阻塞IO&#xff1f;什么是同步异步IO&#xff1f;什么是IO多路复用&#xff1f;select/epoll跟IO模型有什么关系&#xff1f;有几种经典IO模…

备考ICA----Istio实验9---熔断Circuit Breaking 实验

备考ICA----Istio实验9—熔断Circuit Breaking 实验 1. 环境准备 创建httpbin环境 kubectl apply -f istio/samples/httpbin/httpbin.yaml kubectl get svc httpbin2. 创建测试用客户端 kubectl apply -f istio/samples/httpbin/sample-client/fortio-deploy.yaml3. 创建Ht…

企业文件交换怎样进行有效防泄密管控?选对方案才能事半功倍

一、数据防泄密面临的挑战 数据流转才能释放价值&#xff0c;在企业生产经营中&#xff0c;数据和文件交换是业务有序开展的基础。文件交换会涉及不同的网络、系统及人员角色&#xff0c;存在泄露的安全风险&#xff1b;为此&#xff0c;不少企业采用或规划采用终端DLP、网络D…

C语言文件操作详解

文件是什么 在我们日常使用的电脑上我们在电脑磁盘上会看到许许多多的文件夹&#xff0c;那里面的东西其实就是文件&#xff0c;为什么我们要使用文件&#xff1f;那是因为我们的电脑肯定会要用来存储东西的&#xff0c;如果没有文件&#xff0c;那么我们的东西都全部存放在内…

ruoyi-nbcio-plus基于vue3的flowable其它元素(目前主要是元素文档)的升级修改

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 http://122.227.135.243:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a…

借助剪映软件生成原创视频(真人人声,免VIP)

civilpy&#xff1a;借助各大模型的优点生成原创视频&#xff08;真人人声&#xff09;Plus0 赞同 0 评论文章​编辑 是的&#xff0c;剪映也出了声音克隆了&#xff0c;只需要十几秒的录音就可以克隆自己的声音&#xff0c;虽然微瑕&#xff0c;但是对于不习惯机器音的很多创…

python实战之基础篇

1. 注释 # coding utf-8 # 该注释放到文件第一行, 这个注释告诉python解释器该文件的编码集是UTF-82. 导入语句有三种形式 import <模块名> from <模块名> import <代码元素> from <模块名> import <代码元素> as <代码元素别名>3. 获取…

Spring Boot集成JPA快速入门demo

1.JPA介绍 JPA (Java Persistence API) 是 Sun 官方提出的 Java 持久化规范。它为 Java 开发人员提供了一种对象/关联映射工具来管理 Java 应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合 ORM 技术&#xff0c;结束现在 Hibernate&#xff0c;TopLink&am…

Vue3状态管理库--Pinia

Pinia快速入门 一、什么是Pinia &#xff1f; Pinia 是 Vue 的专属的最新状态管理库 &#xff0c;是 Vuex 状态管理工具的替代品。 Pinia官网链接 提供更加简单的API &#xff08;去掉了 mutation &#xff09;提供符合组合式风格的API &#xff08;和 Vue3 新语法统一&…

微服务(基础篇-006-Docker)

Docker是一个开源的应用容器引擎&#xff0c;它让开发者可以打包他们的应用以及依赖包到一个可移植的容器中&#xff0c;然后发布到任何Linux机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱机制&#xff0c;相互之间没有任何接口&#xff08;类似 iPhone 的 app&…