r语言在linux下取数据,菜鸟第一步,跪在数据处:R语言读取数据

1. 温故知坑

实践是学习知识的最好途径。之前我讲的内容都非常非常基础,包括:

(1)什么是R语言?R语言和Rstudio软件的安装,Rstudio的界面介绍;

(2)R语言的基本逻辑,基本数据类型;

(3)ggplot基础绘图;

(4)学习R语言的思路(整理,总结问题)。

通过不断的踩坑,走弯路,我们可以在勤奋的基础上,找一些快速的方法。我们已经不能再像上大学时候一样了,先啃完一本书,学好各种基础知识,然后开始应用。工作之繁忙,生活之琐碎,各种被电子产品占据走的时间。已经很难找出一整块的时间去学习了。

换句话说,没有目的性的理论学习就是耍流氓。怎么讲这么多数据类型,格式,可是我用不着呀?因此,我们调整策略,按照完成project为主线来解说在完成数据分析的过程中,我们需要用的R语言知识。

2. 一个超级简单的project流程

以我之前处理的GEO数据为蓝本,我们详细的介绍每一个数据处理过程,所需要的知识(不仅仅是R语言代码,还有各种背景知识)。

步骤基本上是:导入数据--整理为可以进行分析的形式--差异分析(火山图等)--GO/KEGG注释(各种好看的图)。其中每一个步骤都可以说是好几把辛酸泪。

但素!为了降低炸毛的风险,我自己捏造了一段非常非常小的数据用来做示例。想要跟着我步骤的小伙伴,需要这小小数据,你们可以想办法找到我。

so,今天我们来讲,导入数据!

(1)首先自然是要有数据

数据的来源:A. 自己课题组的各种测序结果,在经过linux的上游分析之后,得到一个表达量和分组的表格(我们也称之为表达矩阵),经过精心整理之后,它大概需要变成这样:

b32eccb44ac1

expression data.frame.jpg

B. 从公共数据库下载:例如GEO、TCGA数据库(知识点:自行去了解这两个数据库),那根据数据库的不同,下载的数据也是有所不同的。GEO数据可以直接通过R语言下载,可以说是非常方便了!

(2)载入数据方式

R语言载入数据的方式如下:

R语言数据的输入:

(1)手打;(2)文本文件txt;(3)Excel;(4)Acess;(5)其他统计软件出来的数据,例如SPSS,SAS;(6)XML数据;(7)网页抓取;(8)Stata;(9)netCDF;(10)HDF5;(11)通过数据库接口下载;(12)通过Stat/Transfer导入数据 。

看到这么多会直接炸毛,这么多!没关系,我们又没有期末考,掌握自己所需要的就可以了。

最最最常见的数据就是txt,xls,csv(有点像xls)。

(3)读取Excel文件

step 1-2 新建proj,管理文件,而后双击打开

b32eccb44ac1

step1-2.png

step 3 将Excel另存为csv文件,而后载入

## (1)另存为csv文件之后,以下代码均可以读取数据

data_1

data_2

## 知识点,header= T,sep="," 是什么意思?

## header= T,字面上的意思就是:有抬头,本文件的抬头(即列名)就是:

> colnames(data_1)

[1] "ensembl_id" "control_1" "control_2" "control_3" "experiment_1" "experiment_2"

[7] "experiment_3"

## 那什么是sep="," 你试试看不要这么参数?试试嘛!

step 4 我偏不另存为,我就要读Excel

好的,妥妥的满足你!虽然我不会,但是我去话了小洁大佬,她支的招就是,使用R包 tidyverse

## (2)我偏不另存为,那就试试tidyverse包

install.packages("tidyverse")

library(tidyverse)

## 调出帮助文档,学习如何使用该包

?tidyverse

## 可是我怕不想看帮助文档怎么办?偷懒的我发现了一个小妙招

请看图

b32eccb44ac1

amazing.png

## 然后就妥妥的会啦

data_3

b32eccb44ac1

loaddata.jpg

至于txt文档怎么载入,我想你用到的时候,定会查到的!

3. 还是温故知新的!

其实写这篇推文呢,我才是最大的收获者,为了写得简洁明了,我回去自己看了一下书,然后又请教了小洁,真是妥妥的--温故知不足,求索方知新。大家加油吧!

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

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

相关文章

c语言 桌面程序_C语言编程工具:Dev - C++ 简单安装和使用!新手福利!

工欲善其事,必先利其器。——《论语》# 写在前面有关编译器和开发工具可以查看历史文章。# 下载Dev-C操作系统建议Windows 7或10,直接搜索Dev-C下载,或者sourceforge官网下载链接:https://sourceforge.net/projects/orwelldevcpp/…

stub_AccuREST Stub Runner发布

stub最近发布时间不错! 我在Too Much Coding博客上的博客更多是关于发布,然后是关于任何具体主题;) 在作为Brixton RC1的一部分发布Spring Cloud Sleuth之后,我们刚刚发布了AccuREST 1.0.4版本。 我们修复了一些错误,…

kali linux wifi监听模式,无线渗透教程1:监听无线网络

第一:配置管理无线网卡1.1这里,我们使用tplink wn722n, kali linux插上即用,无需安装驱动。1.2Vmare虚拟机配置如下:如网卡插入到电脑后,先将虚拟机设置成桥接模式之后对虚拟机进行配置之后呢,我们在终端窗…

matlab的7.3版本是什么_王者荣耀:玩不好元歌的3大原因,无论什么版本,元歌起码T1.5_电竞...

很多高段位元歌并不是以秀为核心的,而是他们就像一个冷静的杀手,在一闪即逝却又最合适的时机里,他能正确的选择进场的方式,以及击杀的方式。说白了,元歌的进场手段并没有多少,什么时候用傀儡433上去锁人&am…

【WebRTC---入门篇】(一)WebRTC整体架构

1.绿色部分是WebRTC核心部分(核心库) 2.紫色部分是JS提供的API(应用层) 整体是应用层调用核心层。 核心层,第一层 C++ API 提供给外面的接口。最主要的是(PeerConnedtion 对等连接)。 核心层,第二层 Session 上下文管理层(音视频)。 核心层,第三层[最重要的…

python 创建空的numpy数组_数据分析-NumPy内置函数创建数组

微信公众号:yale记关注可了解更多的教程问题或建议,请公众号留言。背景介绍今天学习使用numpy的内置函数arange()、ones()、zeros()、linspace() 等内置函数创建数组,对于使用数据结构和多维列表非常有用,可以节省大量的时间。入门…

使用t-sql语句修改表中的某些数据及数据类型。_数据库基本理论详细介绍

1、数据库范式第一范式:列不可分,eg:【联系人】(姓名,性别,电话),一个联系人有家庭电话和公司电话,那么这种表结构设计就没有达到 1NF;第二范式:有主键,保证完全依赖。eg…

【WebRTC---入门篇】(三)WebRTC运行机制

轨和流 Track 轨:音频轨和视频轨是不相交的 MediaStream 媒体流:中包含多个音视频轨 WebRTC重要类 MediaStream 负责添加N个轨,加入到RTCPeerConnection RTCPeerConnection 核心 RTCDataChannel 非音视频数据,通过RTCP…

a - 数据结构实验之串一:kmp简单应用_【在线教学示范课案例】数据结构(刘航)...

一、教师简介刘航,网络空间安全学院教师,本科生“数据结构”、“算法设计综合实验” 和研究生“算法设计与优化”课程的主讲教师。近年来积极开展了教学与考核模式改革、探究式/研究型课程等课程改革探索,探索课程、学科竞赛和项目相结合的科…

【WebRTC---入门篇】(四)WebRTC设备管理

enumerateDevices API用来获取音视频设备 JS使用单线程处理,为了避免阻塞。使用异步调用Promise。handle为处理函数,处理主要逻辑。成功调用resolve;失败调用reject。Promise可以注册两个方法 then(逻辑处理成功会收到on_resolve) 和 catch(…

【音视频安卓开发 (六)】Android GLSurfaceView播放视频

GLSurfaceView渲染RGB的数据,利用双缓冲空间机制。取出缓冲地址,将要渲染的数据copy到缓冲地址. 获取Surface Java部分: SurfaceView控件设置到界面中显示 SurfaceView定义一个类来实现 package com.example.hello;import android.content.Context; import android…

什么是openstack_您在OpenStack Summit 2016上错过了什么

什么是openstack今年,我第一次参加了4月25日至29日在德克萨斯州奥斯汀举行的OpenStack峰会。 今天结束了,我要回家了,我想回顾一下,从我的角度分享你错过的事情。 作为以应用程序开发人员为重点的技术传播者,转移到包…

python链表实现栈_使用python实现数组、链表、队列、栈

引言 什么是数据结构? 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。 简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中。 比如:列表,集合和字典等都是数据结构 N.W…

drools6.5_Drools 6.4.0.Final提供

drools6.5最新和最出色的Drools 6.4.0.Final版本现已可供下载。 这是我们先前构建的增量版本,对核心引擎和Web工作台进行了一些改进。 您可以在此处找到更多详细信息,下载和文档: Drools网站 资料下载 文献资料 发行说明 请阅读下面的…

【音视频安卓开发 (八)】OpenSLES播放音频步骤和接口讲解

OpenSLES是安卓内部的音频播放和录音 初始化引擎 创建输出设备 配置PCM格式信息 初始化播放器 播放和缓冲队列 本文开源项目下载

【WebRTC---入门篇】(五)Web服务器原理与Nodejs搭建

Web服务器工作原理 Nodejs工作原理 首先自己开发的APPLICATION(自己开发的JS程序)输出给V8引擎,解析后的二进制文件调用NODE API,然后调用LIBUV事件处理库(插入到事件队列,在队列中不断循环处理事件)。 JavaScript解析 V8引擎先收到JS程序,解析生成JS语法树,通过解析器…

【WebRTC---入门篇】(六)JavaScript基础

变量与类型 var与let的区别,var局部变量;let全局变量 函数

javaio流层次结构_流的多层次分组

javaio流层次结构1.简介 使用Java 8流,可以很容易地根据不同的标准对对象集合进行分组。 在这篇文章中,我们将看到如何从简单的单级分组到更复杂的,涉及多个级分组的分组。 我们将使用两个类来表示我们要分组的对象:人和宠物。 …

大型程序是如何开发的_大型小程序如何研发提效

作者:王梦君微信公众号:滴滴顺风车技术出处:https://mp.weixin.qq.com/s/M1VArJ_ORY-eXSKzD6ysQw导读:自2016年小程序诞生以来,小程序以其“用完即走”的设计理念,以及简单易上手的开发模式,吸引了大批的小程序使用者以及开发者&a…