前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >R语言学习--R for Data Science(一)

R语言学习--R for Data Science(一)

作者头像
R小白
修改于 2022-03-23 14:14:53
修改于 2022-03-23 14:14:53
2K00
代码可运行
举报
文章被收录于专栏:生信学习生信学习
运行总次数:0
代码可运行

这篇文章作为R语言学习系列的开篇,记录一下我的想法。

刚开始接触R语言是因为单细胞数据分析的需要,那时完全是零基础,学习过程是边抄别人的代码,边理解这些代码的含义,遇到了比较多的坑,包括软件安装,环境配置,R包安装,代码换了参数就报错等。这种纯实战虽然可以快速“上手”,但是没有基础很难提升,而且很难写出自己的代码。

接着看了一部分《R语言实战》了解了对象类型,数据结构等基础知识。《R for Data Science》这本书刚开始也看了一些,可能因为没基础,看的也还是吃力,就搁置下来,比较多的是看别人写的代码,自己去试错,效率也比较低。

前段时间又回过头看这本书,发现这本书前面关于数据清洗的内容就可以解决很多我实际遇到的问题了,觉得这本书其实很适合初学者,所以打算跟练这本书上的内容,加强基础,也会穿插一些自己的感悟,同时通过公众号记录和分享。


关于《R for Data Science》

很多R语言的书都是从对象类型,数据结构等编程基础知识讲起,虽然这很重要,但也还是需要理解的,放在开始对初学者确实不友好,特别是因为有数据分析需求又没充足时间学习的人来说,可能没法直接静下心来理解各种基础概念。《R for Data Science》是从一些简单的实例开始,并没有在一开始就深入讲解各种概念,这样就可以边跟练边理解。

整本书的内容围绕下图:

是从数据科学整体流程来讲的,前面的数据导入,整理转换,都是我们分析数据不可避免会遇到的,而且数据的清洗是时间花费占比较多的步骤,需要重点掌握,可视化对于我们生信分析也比较重要。

需要的软件

RRStudio,这本书内容都是在RStudio软件中完成的,RStudio很适合初学者使用,毕竟是专门针对R开发的IDE,界面简洁明了,功能很多,操作也比较人性化,有很多好用的快捷键。界面如下:

Rstudio界面

在这里简要介绍下Rstudio的界面,我这个是server版,只有少数细节与桌面版有区别。图中1是脚本窗口,主要用来输入,运行和保存代码;2是控制台,这里可以直接输入代码后按enter运行,对于一些简单的测试代码可以直接在这里运行,在脚本窗口运行的代码也会在这里显示;窗口3这里可以管理文件和R包,画图展示,查看帮助信息;窗口4主要用到的是环境界面,这里会显示所有创建的对象,也可以在History查看历史输入内容。

对象和函数

顺便简单介绍下对象和函数,在Rstudio中,我们导入的数据或是自己创建的数据都是以对象的形式显示在环境窗口(储存在了内存里),如我创建了对象a和b,它们的值分别是1和2;函数是具有一定功能的对象,如sum(),它可以将输入的参数相加求和;另外函数的格式是"函数名+()",且都是英文字符,R代码是区分中英文字符和大小写的,任何字符格式的错误都会导致函数无法正常运行。

需要的R包

R包可以理解为我们在windows电脑中软件的插件,R包集成了功能函数,说明文档,有的还会包含一些数据以供调用,不同的R包具有不同的功能,这样就极大拓展了R基础软件的功能。这篇文章开始需要的R包是tidyverse,这个R包涵盖了很多数据清洗和作图需要的小的R包,如readr,tidyr,dplyr,ggplot2等。

安装R包

R包主要来源于CRAN这个库,对于我们生信分析还有Bioconductor库,少部分可能需要从git-hub上下载。安装可以在rstudio的Console栏的命令提示符 > 后输入以下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> install.packages("tidyverse")

加载R包

安装好的R包需要加载后才能使用,可以用函数library()来实现:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> library(tidyverse)
── Attaching packages ──────────────────────────────────── tidyverse 1.3.1 ──
✓ ggplot2 3.3.5     ✓ purrr   0.3.4
✓ tibble  3.1.4     ✓ dplyr   1.0.7
✓ tidyr   1.1.3     ✓ stringr 1.4.0
✓ readr   2.0.1     ✓ forcats 0.5.1
── Conflicts ─────────────────────────────────────── tidyverse_conflicts() ──
x dplyr::filter() masks stats::filter()
x dplyr::lag()    masks stats::lag()

可以看到加载了tidyverse中的子包,conflicts显示的是其他包的同名函数被屏蔽,dplyr::mutate()这种输入方式可以表明mutate()函数是来自于dplyr包中的,而且当dplyr中的mutate()函数被其他R包的同名函数屏蔽时,可以用这种方式调用。在rstudio环境下输入函数或者对象时,可以多按Tab键,用来补齐函数或对象名,提高输入效率。

需要的数据集

有很多R包自带数据集,也有些数据集被写成R包供下载,这里需要的有:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> install.packages(c("nycflights13", "gapminder", "Lahman"))

准备好R包和数据,就可以进行数据分析实战了,下节开始跟练数据可视化

参考资料:

https://r4ds.had.co.nz/index.html

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
一分钟解决无法使用Pytranscriber问题
现在网上可以说越来越多的转播、声音转字幕的服务,不过过去找到的最好的字幕需要付费,要付费免费版有限制。转字幕,电脑完全免费,声音还原度也不错,最重要的是速度超级快,上传时间30分钟,约2分钟就处理工具,相当惊人,几乎全语种都支持。Windows、Mac、Linux版都有。
小生观察室
2021/08/19
4.3K23
一分钟解决无法使用Pytranscriber问题
安装添加access数据库
access版本目前已经更新出了很多,包括access2016,2010;2019,2021;
用户9693436
2022/04/24
5.5K0
竞技世界面试官:说一下公平锁和非公平锁的区别?
上次我们提到了乐观锁和悲观锁,那我们知道锁的类型还有很多种,我们今天简单聊一下,公平锁和非公平锁两口子,以及他们在我们代码中的实践。
Java程序猿
2021/07/18
3950
Linux下安装UE4游戏引擎
官网注册帐号之后绑定github帐号,加入 Epic Games 组织后,即可获得Unreal Engine查看代码权限。
i0gan
2021/06/29
6.8K0
Linux下安装UE4游戏引擎
利用云函数接收兔小巢的 WebHooks ,并通知到对应邮箱
兔小巢是一款免费的反馈互动社区产品,在网站上插入几行代码即可拥有和腾讯网一样的互动社区,让反馈变得便捷,轻巧。
jwj
2022/03/28
2K0
利用云函数接收兔小巢的 WebHooks ,并通知到对应邮箱
Python完成英雄联盟原话千图成像,这也太酷了
很久前在刷微博的时候看到了这条,被他给震撼到了,图片是由LOL近千张皮肤图片组合构成的(难道这是用ps做的,还是一张张拼的,应该不可能吧),就在昨天突然就想起了这个事,就决定也做一个,随即便展开了行动。搜到了这篇文章,看了下图片的构成,决定先取得所有皮肤的图片再说吧!便又开始了爬虫!
查理不是猹
2021/12/21
3780
Python完成英雄联盟原话千图成像,这也太酷了
MySQL 索引(下)
从结果中看出,索引失效了,这是因为我们需要把索引字段的值都取出来,然后依次进行表达式的计算来进行条件判断,因此采用的就是全表扫描的方式,运行时间也会慢好多。
mr.songw
2021/01/15
7040
MySQL 索引(下)
excel 的条件格式(二)
使用条件格式中的数据条可以非常方便地对一定区域内的单元格的数值进行可视化。照着以下步骤执行,便可以添加数据条。
mr.songw
2021/02/04
1.5K0
excel 的条件格式(二)
使用Xcode配置OpenCV环境
M1芯片的Mac安装opencv需要专门去找对应的版本去下载。这里稍有不慎,坑会比较多。
AlanWalker
2022/03/16
2.4K0
protobuf编译、安装和简单使用C++(Windows+VS平台)
将刚才编译后的libprotobufd.lib和protoc.exe拷贝到自己创建的项目下,按住shift+右键,选择打开CMD,输入protoc --cpp_out=./ Account.proto,发现目录中多了两个文件,一个.h头文件一个.cc源文件
WindSun
2020/03/21
9.1K2
若依前后台框架,下载运行,若依系统生成代码
1、前置工具安装 jdk 1.8 redis (缓存数据库) mysql idea (后端开发工具) nodejs (js前端开发平台,本文主要用到包管理工具 npm) vscode (前端开发工具) git (版本管理工具) 下载 [https://gitee.com/y\_project/RuoYi-Vue](https://gitee.com/y_project/RuoYi-Vue) 2、运作方式 [image.png] 3、后台导入,设置 [image.png] [image.png] [image
用户7957495
2021/08/09
1.6K0
若依前后台框架,下载运行,若依系统生成代码
关于Safari 访问springboot server项目异常问题
后端大哥不作为,埋点数据啥的搞得杂七乱八,自己用springboot 写了一个接受post日志的服务,数据入腾讯云ckafka,消费到elasticsearchhttps://console.cloud.tencent.com/es。(也无聊的用自带的云函数做了个备份将数据copy到了cos对象存储)并在springboot上面加了允许跨域等设置,代码是网上copy来的:
对你无可奈何
2021/02/04
7400
保姆级干货盘点#数据分析零基础到实战,Python、Pandas与各类数据库
安装SQLAlchemy模块(下面操作都是在虚拟环境下): 方法一:直接pip安装(最简单,安装慢,可能出错)
查理不是猹
2021/12/13
1K0
保姆级干货盘点#数据分析零基础到实战,Python、Pandas与各类数据库
excel 的条件格式(三)
在 excel 中,使用色阶可以很方便地对一定区域内单元格的值进行可视化,渐变的颜色表示单元格中值的大小。照着以下步骤,便可以添加色阶。
mr.songw
2021/02/07
2.4K0
excel 的条件格式(三)
2021年度Leetcode算法类型高频题总结&(附答案解析)
昨晚逛了逛GitHub,无意中看到一位P8大佬的算法刷题笔记,感觉发现了宝藏!有些小伙伴可能已经发现了,但咱这里还是忍不住安利一波,怕有些小伙伴没有看到。
Java程序猿
2021/12/24
9600
2021年度Leetcode算法类型高频题总结&(附答案解析)
【技术创作101训练营】- 前后端分离模式下如何保证开发人员不打架?
上传ppt很多颜色被改变了,如果评委老师想看原版的话,可以看pdf,麻烦了,谢谢。
手撕代码八百里
2021/01/20
1K3
【技术创作101训练营】- 前后端分离模式下如何保证开发人员不打架?
PHPStudy + VSCode 进行 PHP 断点调试
文件->首选项->设置->扩展->php->validate:executable path
Action
2021/08/12
2.2K0
PHPStudy + VSCode 进行 PHP 断点调试
【玩转腾讯云】导入镜像-Windows 2008 R2 Datacenter
【腾讯云】关于Windows Server 2008 R2 企业版 SP1 64位公共镜像下线通知
大大大黑白格子
2020/03/26
10.4K18
【玩转腾讯云】导入镜像-Windows 2008 R2 Datacenter
如何找到native方法对应的Hotspot源码
哈喽,我是子牙。十余年技术生涯,一路披荆斩棘从技术小白到技术总监到JVM专家到创业。技术栈如汇编、C语言、C++、Windows内核、Linux内核。特别喜欢研究虚拟机底层实现,对JVM有深入研究。分享的文章偏硬核,很硬的那种。
子牙老师
2022/05/07
1.1K0
如何找到native方法对应的Hotspot源码
MySQL 索引(中)
聚簇索引是按照每张表的主键构造的一棵 B+ 树,叶子节点中存放的即为整张表的行记录数据,聚簇索引的叶子节点也称为数据页。非聚簇索引叶子节点并不包含行记录的全部数据。叶子节点除了包含键值以外,每个叶子节点中的索引行中还包含一个书签。该书签用来告诉 InnoDB 存储引擎哪里可以找到与索引相对应的行数据。由于 InnoDB 存储引擎表是索引组织表,因此 InnoDB 存储引擎的非聚簇索引的书签就是相应的行数据的聚簇索引键。那么基于聚簇索引和非聚簇索引的查询的区别在哪里呢?先通过一个例子来直观感受下:查询 emp_no 为 401060 的记录,通过字段 emp_no 来查询,sql 如下。
mr.songw
2021/01/15
1.6K0
MySQL 索引(中)
相关推荐
一分钟解决无法使用Pytranscriber问题
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验