第十三期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 第一个结果就是了,免费。
第一步:查看你的电脑用户名是中文还是英文
先在电脑桌面随便打开一个文件夹,打开是这样:
如果是英文就跳过第二步
第二步:修改用户名为英文
如果你的用户名不幸是中文的,那就必须改为英文,否则无法安装Rstudio。这是一个大大的坑!如果按照下面的教程做不成功,那问题就大了,我解决不了,你只能去网上搜别的教程试试。 生信小白第20天--windows软件安装准备工作(教你如何改用户名)
第三步:下载R和Rstudio
用搜狗微信搜索:“果子学生信 给自己一个全新的R语言环境”
注意:只看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
<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做的,也可以用幕布。(早先开始作分享的时候我有时没时间,就直接发思维导图贴出来了。后来发现这样是不对的,毕竟是大纲,经过删减和消化的东西,别人理解起来是有困难的。因此我不推荐大家保存我的思维导图,要自己整理)
<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什么意思
<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>
二.调一个舒服的显示方式
我用的是台式机,字也太小了啊啊啊。
<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>
<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的基本操作
这一部分的思维导图
<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() #查看工作目录
我的是:
<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路径要咋填呢?
首先正常打开这个文件夹,点地址栏就会出现它的完整路径
<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>
<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>
看一下我刚刚的尝试及报错解决办法
<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()了。)
<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
<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.再来试试(偷懒指南:向上箭头↑键)
<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的值,因为它就在右上角显示着了。但是当变量很多,找起来比较麻烦的时候就有用了)
<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后面的符号打错了。
<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))
https://www.bilibili.com/video/av25643438/