2019-03-08

第十三期Day4 R语言初上手

豆豆花花 [生信星球](javascript:void(0);) 今天

准备工作

要学R语言了,R和Rstudio下载到自己电脑上。R需要的操作全部在自己电脑上,因此不涉及到服务器。(服务器可以配置自己的Rstudio,供大家远程登陆,用浏览器打开后面加上:8787就可以登录,但是阿里云并没有自带,用自己电脑完全可以的。)

今天的学习内容:

如果你的电脑用户名是中文的,必须改成英文才能安装Rstudio,这是因为英文软件很牛,但是遇到中文路径就傻了。。。

1.安装R(基础)和Rstudio(人性化一些的界面)

2.粗略了解R语言是什么,干什么的,认识Rstudio的工作界面

3.完成第一个R做的图

4.学会外观设置和基本操作

如果已经安装或者基础较好,可以看下R for Data Science的第一章,系统学习作图。 对照原书看,百度R for Data Science 第一个结果就是了,免费。

第一步:查看你的电脑用户名是中文还是英文

先在电脑桌面随便打开一个文件夹,打开是这样:

image
image

如果是英文就跳过第二步

第二步:修改用户名为英文

如果你的用户名不幸是中文的,那就必须改为英文,否则无法安装Rstudio。这是一个大大的坑!如果按照下面的教程做不成功,那问题就大了,我解决不了,你只能去网上搜别的教程试试。 生信小白第20天--windows软件安装准备工作(教你如何改用户名)

第三步:下载R和Rstudio

用搜狗微信搜索:“果子学生信 给自己一个全新的R语言环境”

image

注意:只看R和Rstudio的下载部分,剩下的非学习范围。如果跟着这个没搞定,最后一个解决办法:史上最贴心R包安装示范视频  (花花的碎碎念---如果你安装完成,要知道自己已经迈过了好大好大的一个坑!!一般来说你并不知道Rstudio需要英文用户名,如果你自己发现了,那一般是在安装上碰了壁,浪费了好长时间然后想明白,再去找教程改用户名,就不是一两小时能完成的事情了。网上有很多改用户名的教程都不好用,你甚至看不懂他在说什么。好的下载教程也不是随手能找到的,我之所以没有自己写怎么下载,是因为果子老师和生信技能树已经写得非常好,无以复加!)

重点****:****Rstudio的界面介绍和基本操作

↓点击链接查看↓

写给零基础同学的R和Rstudio教程注意 如果这些基础操作会的话,就看ggplot去哦作业:整理R基本操作的学习笔记。安装不需要写。

写给零基础同学的R和Rstudio教程

原创: 豆豆花花 [生信星球](javascript:void(0);) 2018-08-09

[图片上传失败...(image-df5561-1552060289576)]

[图片上传失败...(image-61bc6b-1552060289576)]

今天是生信星球陪你的第91天[图片上传失败...(image-53611c-1552060289576)]


你想找辆共享单车,发现满街都是别家车,没有一辆你能骑。

你想学点生信,搜了“初学者教程”,满眼尽是高大上,没有一句能看懂。

终于你跨越茫茫宇宙,来到生信星球,发现了初学者的新大陆!

如果你尚不清楚R语言是啥,请简单看一下初识R语言,至于Rstudio是啥不必过多关心,反正就用它作为R的操作平台。

一.认识Rstudio

image

<figcaption style="margin: 10px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; line-height: inherit; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;">认识Rstudio的界面</figcaption>

学会自己列一下思维导图,我这个是用xind做的,也可以用幕布。(早先开始作分享的时候我有时没时间,就直接发思维导图贴出来了。后来发现这样是不对的,毕竟是大纲,经过删减和消化的东西,别人理解起来是有困难的。因此我不推荐大家保存我的思维导图,要自己整理)

image

<figcaption style="margin: 10px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; line-height: inherit; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption>

第一次上手,先做一个最简单的图:

plot(runif(50)) #百度查查plot和runif什么意思
image

<figcaption style="margin: 10px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; line-height: inherit; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption>

二.调一个舒服的显示方式

我用的是台式机,字也太小了啊啊啊。

image

<figcaption style="margin: 10px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; line-height: inherit; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption>

image

<figcaption style="margin: 10px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; line-height: inherit; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption>

三.R的基本操作


这一部分的思维导图

image

<figcaption style="margin: 10px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; line-height: inherit; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption>

1.R的工作目录

> getwd()  #查看工作目录

我的是:

image

<figcaption style="margin: 10px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; line-height: inherit; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption>

我们在电脑桌面上新建一个RData。(这个应该不需要截图了啊)
然后把RData作为工作目录。所谓工作目录就是默认的读取和储存位置。

我要把他设置为工作目录,不仅要知道设置的命令是setwd(),那这个RData路径要咋填呢?
首先正常打开这个文件夹,点地址栏就会出现它的完整路径

image

<figcaption style="margin: 10px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; line-height: inherit; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption>

image

<figcaption style="margin: 10px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; line-height: inherit; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption>

看一下我刚刚的尝试及报错解决办法


image

<figcaption style="margin: 10px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; line-height: inherit; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption>

所以正确的命令是:

setwd(dir="C:/Users/kingjie/Desktop/Rdata")

当然是按照你刚才复制的那个目录,反斜线改掉,不是直接复制我这个啊。
另外“dir=”可以省略的。我这是一种偷懒的行为_
不报错就是成功了
现在再getwd(),就会显示你新设置的路径了。
(好懒不想再打一遍,按键盘的向上箭头,可以翻阅历史命令。在这里摁几下就到了上一个getwd()了。)

image

<figcaption style="margin: 10px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; line-height: inherit; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption>

2.显示文件列表
直接打命令不跟路径会显示哪里?显示默认路径对吧。
既然工作目录的意思是默认的存储和读取位置,那默认路径说的不就是它嘛!
想起了linux的ls了。

list.files()dir()

这俩一个意思。都相当于ls

image

<figcaption style="margin: 10px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; line-height: inherit; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption>

零个对象?这可不是报错,这是因为你的RData文件夹里没东西。
所以我在RData新建一个doudou.txt.再来试试(偷懒指南:向上箭头↑键)


image

<figcaption style="margin: 10px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; line-height: inherit; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption>

这下不是零了。有豆豆.txt.了。

3.计算 1+2 回车
4.函数
ex:求和:sum(1,2,3,4,5)

ls() #列出变量名str(a)  #打出变量a的具体信息ls.str() #等于ls()和str()的组合ls(all.name=TRUE)#将以.开头的对象也一并列出,相当于linux的ls -a(好像并没有什么用)

刚开始我想,左上角明明有变量列表,为啥还要在控制台打出来?大概是因为懒得找。
5.赋值
赋值符号用<-,这是小于号加上减号,也可以按Alt加上减号
x<- 1+2 意思是把1+2的运算结果赋值给x, 赋值后,x会显示在右上角的框,Environment里的Value列表里
直接输入x 回车 出现3,前面的那个[1]是个行号,3就是x的值(初学好像没什么必要以这种方式查看x的值,因为它就在右上角显示着了。但是当变量很多,找起来比较麻烦的时候就有用了)

image

<figcaption style="margin: 10px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; line-height: inherit; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption>

6.删除对象
对象就是数值、数据框啊等等。大概可以理解为被赋值的对象吧。

a<-3b <- 1c <- 4u <- 5+6rm(b)rm(u,c)   #一次删除多个,还有一个做法是rm(list = "u","c"),字太多我表示拒绝

上面的代码不要复制,请手打↓括号很容易被打成中文的啊
如果你看到这个报错,那就八成是括号打错了,不识别中文的。R的报错很个性,还把你打错的第一个位置列出来了,如图表示的是ls后面的符号打错了。

image

<figcaption style="margin: 10px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; line-height: inherit; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption>

7.列出历史纪录
history() #会给你列出一大堆
history(10)#只列出最近的10条记录
8.清空屏幕
ctrl+l
9.保存工作空间
save.image保存数据和绘图函数。

初学生信,很荣幸带你迈出第一步。
正是因为如此,我在指导几个小伙伴入门R语言的时候简单粗暴的指出:
所有的软件都安装在c盘哦,然后系统用户名最好是不要用中文,写代码最怕中文字符串哦!
生信0基础第一步,下载R和Rstudio并且安装在自己的电脑上面。官网链接是
R: https://mirrors.tuna.tsinghua.edu.cn/CRAN/
RStudio:https://www.rstudio.com/products/rstudio/download/#download
如果你的网络不好,可以从我整理的网盘下载,链接:https://share.weiyun.com/5hW6VAA 密码:3fuhrm

options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
if(! require("devtools")) install.packages("devtools")
if(! require("reshape2")) install.packages("reshape2")
if(! require("ggplot2")) install.packages("ggplot2")
if(! require("pheatmap")) install.packages("pheatmap")
if(! require("ggfortify")) install.packages("ggfortify")
if(! require("stringr")) install.packages("stringr")
if(! require("survival")) install.packages("survival")
if(! require("survminer")) install.packages("survminer")
if(! require("lars")) install.packages("lars")
if(! require("glmnet")) install.packages("glmnet")

if(! require("timeROC")) install.packages("timeROC")
if(! require("ggpubr")) install.packages("ggpubr")

if(! require("randomForest")) install.packages("randomForest")
if(! require("ROCR")) install.packages("ROCR")
if(! require("Hmisc")) install.packages("Hmisc")

if(! require("caret")) install.packages("caret")

if(! require("genefilter")) install.packages("genefilter")

if(! require("ggstatsplot")) install.packages("ggstatsplot")

下面的包是为了临床三线表

if(! require("tableone")) install.packages("tableone")

网络不好,就不要安装了。

而且Windows电脑安装 rJava 也经常是需要人指导的。

https://github.com/rstudio/rstudio/issues/2254

if(! require("rJava")) install.packages("rJava")
if(require('rJava')){

https://cran.r-project.org/src/contrib/Archive/ReporteRs/

if(! require("ReporteRs")) install.packages("ReporteRs")
devtools::install_github('davidgohel/ReporteRsjars')
devtools::install_github('davidgohel/ReporteRs')
}

library(devtools)
source("http://bioconductor.org/biocLite.R")

如果你的网络实在是太差,试试看:

install.packages("BiocInstaller",repos="http://bioconductor.org/packages/3.7/bioc")

很可惜你在中国大陆,不得不承受这个痛苦。

options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")
library('BiocInstaller')
if(! require('edgeR')){

biocLite(c('airway','DESeq2','edgeR','limma'))
}

if(! require("CLL")) biocLite("CLL")
if(! require("org.Hs.eg.db")) biocLite('org.Hs.eg.db')
library(BiocInstaller)
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")
if(! require("maftools")) biocLite("maftools")
if(! require("RTCGA")) biocLite("RTCGA")
if(! require("RTCGA.clinical")) biocLite("RTCGA.clinical")

https://bioconductor.org/packages/3.6/data/experiment/src/contrib/RTCGA.clinical_20151101.8.0.tar.gzn

if(! require("RTCGA.miRNASeq")) biocLite("RTCGA.miRNASeq")
if(! require("maftools")) biocLite("maftools")
if(! require("genefilter")) biocLite("genefilter")

Then from : https://github.com/ShixiangWang

You don't need run the codes below, I will explain to you face to face.

source("http://bioconductor.org/biocLite.R")
packs = c("devtools", "reshape2", "ggplot2", "pheatmap", "ggfortify", "stringr", "survival",
"survminer", "lars", "glmnet", "timeROC", "ggpubr", "randomForest", "ROCR", "genefilter",
"Hmisc", "caret", "airway","DESeq2","edgeR","limma", "CLL", "org.Hs.eg.db", "maftools")
if(! require(pacman)) install.packages("pacman", dependencies = TRUE)
pacman::p_load(packs, dependencies=TRUE, character.only = TRUE)

check

pacman::p_loaded(packs, character.only = TRUE)
all(pacman::p_loaded(packs, character.only = TRUE))

image.png

image.png

image.png

image.png

https://www.bilibili.com/video/av25643438/

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,602评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,442评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,878评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,306评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,330评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,071评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,382评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,006评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,512评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,965评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,094评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,732评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,283评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,286评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,512评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,536评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,828评论 2 345

推荐阅读更多精彩内容