Windows R安裝
2019年聽(tīng)學(xué)校老師開(kāi)設(shè)的《作物組學(xué)與分子生物學(xué)》這門(mén)課咆课,接觸到了linux和R儒陨。
習(xí)慣于看老師處理代碼衷掷,偶爾還會(huì)因?yàn)閿嗑W(wǎng)翻車(chē)而樂(lè)此不疲蜜猾,實(shí)質(zhì)上那門(mén)課我是覺(jué)得我屬于典型的吃瓜群眾,浪費(fèi)甚多光陰振诬。
今日得幸重拾R基礎(chǔ),不當(dāng)之處還請(qǐng)指點(diǎn)一二衍菱。
本文參照 [小潔忘了怎么分身]《R語(yǔ)言第一課:R和Rstudio》http://www.reibang.com/p/87f9afb8068c及已有的R基礎(chǔ)記錄筆記赶么。
下載軟件:R,Rstudio
官網(wǎng):https://www.r-project.org/
CRAN:https://cran.r-project.org/
參考學(xué)習(xí)視頻
生信技能樹(shù) 《生信人應(yīng)該這樣學(xué)R語(yǔ)言》
https://m.bilibili.com/video/av25643438.html
關(guān)于Windows R的安裝脊串,其基礎(chǔ)涉及有2個(gè):
1.安裝R辫呻,下載 https://mirrors.tuna.tsinghua.edu.cn/CRAN/bin/windows/base/R-3.6.3-win.exe
2.安裝RStudio,下載https://download1.rstudio.org/desktop/windows/RStudio-1.2.5033.exe
注意
注意琼锋,R和RStudio可以單獨(dú)安裝放闺,但RStudio只有在R安裝好了以后才能正常使用。
認(rèn)識(shí)R和Rstudio
R是一種編程語(yǔ)言缕坎,是統(tǒng)計(jì)計(jì)算和繪圖的環(huán)境怖侦,R 是現(xiàn)今最受歡迎的數(shù)據(jù)分析和可視化平臺(tái)之一。它是自由的開(kāi)源軟件谜叹,
并同時(shí)提供 Windows匾寝、Mac OS X 和 Linux 系統(tǒng)的版本。
Rstudio是免費(fèi)提供的開(kāi)源集成開(kāi)發(fā)環(huán)境(IDE)
新建一個(gè)R代碼荷腊。點(diǎn)擊軟件左上方一個(gè)綠色的+按鈕艳悔,點(diǎn)擊R Script即可新建一個(gè)R的代碼
隨后就進(jìn)入到這樣的一個(gè)界面布局當(dāng)中,也是最常見(jiàn)的布局女仰。
這其中最重要的就是代碼編輯頁(yè)面和控制臺(tái)猜年,代碼編輯頁(yè)面就是書(shū)寫(xiě)代碼和編輯更改代碼的地方,控制臺(tái)就是代碼運(yùn)行和輸出運(yùn)行結(jié)果的地方疾忍。
以1+1為例乔外,來(lái)講解RStudio中代碼運(yùn)行的方式:在代碼編輯頁(yè)面,書(shū)寫(xiě)代碼锭碳,寫(xiě)好了之后袁稽,當(dāng)看閃動(dòng)的光標(biāo)所在的行,然后點(diǎn)擊下圖紅框中的運(yùn)行按鈕(或者敲擊ctrl+enter組合鍵)就可以運(yùn)行光標(biāo)所在的行擒抛,然后光標(biāo)自動(dòng)轉(zhuǎn)跳到下一行推汽,運(yùn)行結(jié)果顯示在控制臺(tái)中。(10-5 未執(zhí)行)歧沪。
保存代碼:
書(shū)寫(xiě)過(guò)的代碼歹撒,全部還都保存在代碼編輯頁(yè)面中,要是想保存這個(gè)代碼怎么辦呢诊胞?暖夭,點(diǎn)擊File - Save 或者是 Ctrl+s 锹杈,填上你要保存的文件名即可(注意:R代碼的后綴名都是.R)。
可以先做兩個(gè)簡(jiǎn)單的圖:
圖一:
代碼:
plot(rnorm(50))
plot()函數(shù)是R中基本的畫(huà)x-y兩個(gè)變量的函數(shù)迈着,其用法如下為:plot(x, y, ...)
例如:首先我用runif()函數(shù)產(chǎn)生了兩列隨機(jī)數(shù):x1,y1竭望,然后用plot()函數(shù)直接畫(huà)圖:
x1 <- round(runif(20,min = 0 ,max = 100))
x1
[1] 75 70 7 54 42 49 47 94 5 2 57 54 46 52 88 27 20 95 58 10
y1 <- round(runif(20,min = 0 , max = 100))
y1
[1] 1 94 94 77 77 3 26 75 92 89 5 4 99 20 70 48 88 27 36 62
plot(x1,y1)
Snipaste_2020-03-26_21-05-16.png
Snipaste_2020-03-26_21-05-39.png
代碼:
x1 <- round(runif(20,min = 0 ,max = 100))
x1
y1 <- round(runif(20,min = 0 , max = 100))
y1
> plot(x1,y1)
這是plot()函數(shù)默認(rèn)的畫(huà)圖樣式。還可以添加其他參數(shù)來(lái)改變圖的樣式裕菠。
runif
The Uniform Distribution On The Simplex
Generates random compositions with a uniform distribution on the (rcomp) simplex.
https://www.rdocumentation.org/packages/compositions/versions/1.40-4/topics/runif
plotting
Generic X-Y Plotting
Generic function for plotting of R objects. For more details about the graphical parameter arguments, see `[par]
https://www.rdocumentation.org/packages/graphics/versions/3.6.2/topics/plot
RDocumentation
https://www.rdocumentation.org/
圖二:
代碼:
boxplot(iris$Sepal.Length~iris$Species,col = c("lightblue","lightyellow","lightpink"))
R語(yǔ)言基本操作
1.用Rproject管理工作目錄
參考<hhttps://mp.weixin.qq.com/s/G-LXN9P2HVLv9v0cvyFJMA>
工作目錄就是默認(rèn)的讀取和儲(chǔ)存位置
設(shè)置工作目錄:
setwd()
查看工作目錄:
getwd()
2.顯示文件列表
dir()
list.files()
工作目錄這么多個(gè)對(duì)象咬清?我的R絕對(duì)不是剛剛安裝的。
3.加減乘除 +-*/
4.賦值
賦值符號(hào)用 <-
奴潘,這是小于號(hào)加上減號(hào)旧烧,也可以按Alt加上減號(hào)
5.刪除變量
a<-3
b <- 1
c <- 4
u <- 5+6
rm(b)
rm(u,c)
rm(list = ls())#清空所有變量
6.列出歷史命令
history()
相當(dāng)于鼠標(biāo)單擊右上角的history標(biāo)簽
7.清空控制臺(tái)
快捷鍵ctrl+l
R語(yǔ)言數(shù)據(jù)類(lèi)型
代碼來(lái)源:《R語(yǔ)言實(shí)戰(zhàn)(中文完整版)》案例
R中的數(shù)據(jù)結(jié)構(gòu):向量,矩陣画髓,數(shù)組掘剪,數(shù)據(jù)框,列表
圖片來(lái)源:《R語(yǔ)言實(shí)戰(zhàn)(中文完整版)》 第二章 《創(chuàng)建數(shù)據(jù)集》
1.向量的創(chuàng)建
a <- c(1, 2, 5, 3, -4)
b <- c("one", "two", "million")
c <- c(TRUE, T, FALSE, F)
print(a)
print(b)
print(c)
typeof(a)
typeof(b)
typeof(c)
2.向量的訪問(wèn)
print(a[3])
print(a[c(1,4)])
print(a[2:4])
3.矩陣的創(chuàng)建
y <- matrix(1:20, nrow = 5, ncol = 4)
print(y)
m <- c(20, 23, 27, 33)
rnames <- c("R1", "R2")
cnames <- c("C1", "C2")
M1 <- matrix(m, nrow = 2, ncol = 2, byrow = T, dimnames = list(rnames, cnames))
M2 <- matrix(m, nrow = 2, ncol = 2, byrow = F, dimnames = list(rnames, cnames))
print(M1)
print(M2)
4.矩陣的訪問(wèn)
print(y[1,2])
print(y[2,c(2:4)])
5.數(shù)組的創(chuàng)建
dim1 <- c("A1", "A2")
dim2 <- c("B1", "B2", "B3")
dim3 <- c("C1", "C2", "C3", "C4")
z <- array(1:24, c(2, 3, 4), dimnames = list(dim1, dim2, dim3))
print(z)
6.數(shù)據(jù)框的創(chuàng)建
ID <- c(1:4)
age <- c(25, 34, 28, 72)
treat <- c("type1", "type2", "type1", "type2")
status <- c("poor", "imporve", "poor", "perfect")
pdata <- data.frame(ID, age, treat, status)
print(pdata)
7.數(shù)據(jù)框的訪問(wèn)
print(pdata[1:2])
print(pdata[c("age", "treat")])
print(pdata$status)
8.有序型變量的創(chuàng)建
status <- c("poor", "improve", "poor", "perfect")
status <- factor(status, order = T, levels = c("poor", "improve", "perfect"))
print(status)
9.列表的創(chuàng)建
l <- "my frist list"
mylist <- list(title = l, data = a, M1, pdata)
print(mylist)
10.列表的訪問(wèn)
print(mylist$data)
print(mylist[[2]])