2022-04-22

R語言清空環(huán)境所有變量

ls()

rm(list=ls())

#運(yùn)行腳本:光標(biāo)放在某一行,點(diǎn)”run”,快捷鍵ctrl+enter(mac:command+enter)

#向量的生成,對(duì)單個(gè)/兩個(gè)向量進(jìn)行的操作,取子集,元素修改。

#####2.1.向量生成??#####

#(1)用 c() 結(jié)合到一起

c(2,5,6,2,9)

c("a","f","md","b")

#(2)連續(xù)的數(shù)字用冒號(hào)“:”

1:5

#(3)有重復(fù)的用rep(),有規(guī)律的序列用seq(),隨機(jī)數(shù)用rnorm

rep("gene",times=3)?

seq(from=3,to=21,by=3)

rnorm(n=3)

#(4)通過組合,產(chǎn)生更為復(fù)雜的向量。

paste0(rep("gene",times=3),1:3)

簡(jiǎn)寫: paste0("gene",1:3)

練習(xí)2-2: 向量生成

# 1.將兩種不同類型的數(shù)據(jù)用c()組合在一起,看輸出結(jié)果

c(1:8,"gene")

[1] "1"? ? "2"? ? "3"? ? "4"? ? "5"? ? "6"? ? "7"? ? "8"? ? "gene"

> c(1:8,TRUE)

[1] 1 2 3 4 5 6 7 8 1

# 2.生成1到30之間所有4的倍數(shù),答案是

#4,8,12,16,20,24,28

seq(from=4,to=28,by=4)

# 3.生成sample4,sample8,sample12…sample28

# 提示:paste0

paste0("sample",seq(from=4,to=28,by=4))

#####2.2對(duì)單個(gè)向量進(jìn)行的操作####

#(1)賦值給一個(gè)變量名

x = c(1,3,5,1) #隨意的寫法

x

x <- c(1,3,5,1) #規(guī)范的賦值符號(hào)Alt+減號(hào)

x

#賦值+輸出同步運(yùn)行

x <- c(1,3,5,1);x

(x <- c(1,3,5,1))

#(2)簡(jiǎn)單數(shù)學(xué)計(jì)算

x+1

log(x)

sqrt(x)

#(3)根據(jù)某條件進(jìn)行判斷,生成邏輯型向量

x>3

x==3

#(4)初級(jí)統(tǒng)計(jì)

max(x) #最大值

> max(x)

[1] 5

min(x) #最小值

> min(x) #最小值

[1] 1

> mean(x) #均值

[1] 2.5

> median(x) #中位數(shù)

[1] 2

> var(x) #方差

[1] 3.666667

> sd(x) #標(biāo)準(zhǔn)差

[1] 1.914854

> sum(x) #總和

[1] 10

> length(x) #長(zhǎng)度

[1] 4

> unique(x) #去重復(fù)

[1] 1 3 5

> duplicated(x) #對(duì)應(yīng)元素是否重復(fù)

[1] FALSE FALSE FALSE? TRUE

> table(x) #重復(fù)值統(tǒng)計(jì)

x

1 3 5

2 1 1

> sort(x)

[1] 1 1 3 5

#####2.3.對(duì)兩個(gè)向量進(jìn)行的操作#####

x = c(1,3,5,1)

y = c(3,2,5,6)

#(1)邏輯比較,生成等長(zhǎng)的邏輯向量

x == y

> x == y

[1] FALSE FALSE? TRUE FALSE

x %in% y #x中的元素在y中嗎

> x %in% y

[1] FALSE? TRUE? TRUE FALSE

#(2)數(shù)學(xué)計(jì)算

x + y

> x + y

[1]? 4? 5 10? 7

#(3)“連接“

paste(x,y,sep="")

> paste(x,y,sep=":")

[1] "1:3" "3:2" "5:5" "1:6"

#(4)交集、并集、差集

intersect(x,y)

> intersect(x,y)

[1] 3 5

union(x,y)

> union(x,y)

[1] 1 3 5 2 6

setdiff(x,y)? #setdiff()R語言中的函數(shù)用于查找在第一個(gè)對(duì)象中但不在第二個(gè)對(duì)象中的元素。

> setdiff(x,y)

[1] 1

setdiff(y,x)

> setdiff(y,x)

[1] 2 6

#當(dāng)兩個(gè)向量長(zhǎng)度不一致

> x == y

[1] FALSE FALSE? TRUE FALSE? TRUE

> #根據(jù)邏輯值取子集

x <- 8:12

> x[x==10]

[1] 10

> x[x<12]

[1]? 8? 9 10 11

> x[x %in% c(9,13)]

[1] 9

> #根據(jù)位置取子集

> x[4]

[1] 11

> x[2:4]

[1]? 9 10 11

> x[c(1,5)]

[1]? 8 12

> x[-4] 除了第四個(gè)以外的數(shù)

[1]? 8? 9 10 12

> x[-(2:4)]

[1]? 8 12

####2.5.修改向量中的某個(gè)/某些元素:取子集+賦值

> x[4] <- 40

> x

[1]? 8? 9 10 40 12

> x[x>10] <- 10

> x

[1]? 8? 9 10 10 10

#### 2.6 簡(jiǎn)單向量作圖

k1 = rnorm(12);k1

k2 = rep(c("a","b","c","d"),each = 3);k2

plot(k1)

boxplot(k1~k2)

> k1 = rnorm(12);k1

[1] -1.11243080? 0.39807970? 0.64010900 -1.20021492 -0.35768545

[6]? 0.12871512 -0.36092576? 0.41087563 -0.65320149 -1.96983669

[11]? 0.03882537 -1.49252171

> k2 = rep(c("a","b","c","d"),each = 3);k2

[1] "a" "a" "a" "b" "b" "b" "c" "c" "c" "d" "d" "d"

plot(k1)

boxplot(k1~k2)

# 1.將基因名"ACTR3B","ANLN","BAG1","BCL2","BIRC5","RAB","ABCT","ANLN","BAD","BCF","BARC7","BALV"組成一個(gè)向量,賦值給x

> x <- c("ACTR3B","ANLN","BAG1","BCL2","BIRC5","RAB","ABCT","ANLN","BAD","BCF","BARC7","BALV")

> x

[1] "ACTR3B" "ANLN"? "BAG1"? "BCL2"? "BIRC5"? "RAB"? ? "ABCT"?

[8] "ANLN"? "BAD"? ? "BCF"? ? "BARC7"? "BALV"

# 2.用函數(shù)計(jì)算向量長(zhǎng)度

> length(x)

[1] 12

# 3.用向量取子集的方法,選出第1,3,5,7,9,11個(gè)基因名。

> x[seq(from=1,to=11,by=2)]

[1] "ACTR3B" "BAG1"? "BIRC5"? "ABCT"? "BAD"? ? "BARC7"

# 4.用向量取子集的方法,選出除倒數(shù)第2個(gè)以外所有的基因名。

> x[-5]

[1] "ACTR3B" "ANLN"? "BAG1"? "BCL2"? "RAB"? ? "ABCT"? "ANLN"?

[8] "BAD"? ? "BCF"? ? "BARC7"? "BALV"?

# 4.用向量取子集的方法,選出除倒數(shù)第2個(gè)以外所有的基因名。

> x[-(length(x)-1)]

[1] "ACTR3B" "ANLN"? "BAG1"? "BCL2"? "BIRC5"? "RAB"? ? "ABCT"?

[8] "ANLN"? "BAD"? ? "BCF"? ? "BALV"?

# 5.用向量取子集的方法,選出出在c("ANLN", "BCL2","TP53")中有的基因名。

# 提示:%in%

> x[x%in%c("ANLN", "BCL2","TP53")]

[1] "ANLN" "BCL2" "ANLN"

# 6.修改第6個(gè)基因名為"a"并查看是否成功

> x[6] <- "a";x

[1] "ACTR3B" "ANLN"? "BAG1"? "BCL2"? "BIRC5"? "a"? ? ? "ABCT"?

[8] "ANLN"? "BAD"? ? "BCF"? ? "BARC7"? "BALV"?

#7.生成100個(gè)隨機(jī)數(shù): rnorm(n=100,mean=0,sd=18)

z = rnorm(n=100,mean=0,sd=18)

#將小于-2的統(tǒng)一改為-2,將大于2的統(tǒng)一改為2

z[z< -2] <- -2

z[z>2] <- 2

# 1.兩個(gè)不同類型的向量合并在一起會(huì)怎么樣?

# R會(huì)盡可能轉(zhuǎn)換為相同類型數(shù)據(jù),見2-2 回答。

# 2.如何將兩個(gè)向量合到一起,組成一個(gè)長(zhǎng)向量?

> a <- c(1,2,3)

> b <- c(4,5,6)

> c(a,b)

[1] 1 2 3 4 5 6

# 3.如何在向量首/尾/中間某位置增加一個(gè)元素?

a <- c(0,a)# 首

b <- c(b,7) # 尾

n=2 # 二號(hào)位

c(a[1:n-1],66,a[n:length(a)])

# 4.如果向量x和y內(nèi)容一致但順序不一致,如何按照x的順序排列y?

x <- c(1,3,2)

y <- c(3,2,1)

y[match(x,y)]

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.建立一個(gè)向量x <- 8:122.根據(jù)邏輯值取子集x[x==10]x[x<12]x[x %in% c(9,13...
    PhageNanoenzyme閱讀 668評(píng)論 0 0
  • 練習(xí)2-4 1.將基因名"ACTR3B","ANLN","BAG1","BCL2","BIRC5","RAB","...
    CyberPlanet閱讀 737評(píng)論 0 0
  • 階段一學(xué)習(xí)總結(jié) 一、導(dǎo)學(xué) 1、日語文字組成:假名(平假名,片假名),漢字,羅馬字。 2、假名是日語中的表音文字。平...
    夜沐十四笙閱讀 324評(píng)論 0 0
  • 1.BiocManager升級(jí)自己 BiocManager::install(version = "3.11") ...
    AsuraPrince閱讀 811評(píng)論 0 1
  • 【案例】機(jī)械工程轉(zhuǎn)學(xué)UCLA,學(xué)長(zhǎng)都做了什么? 機(jī)械工程轉(zhuǎn)學(xué) 機(jī)械工程轉(zhuǎn)學(xué)轉(zhuǎn)學(xué)UCLA,聽到顧問老師這么說,K學(xué)長(zhǎng)...
    求真崔老師閱讀 114評(píng)論 0 0

友情鏈接更多精彩內(nèi)容