免费高清特黄a大片,九一h片在线免费看,a免费国产一级特黄aa大,国产精品国产主播在线观看,成人精品一区久久久久,一级特黄aa大片,俄罗斯无遮挡一级毛片

分享

30天學會R語言 DAY3: R語言對象(1):向量和矩陣及其操作

 妙趣橫生統(tǒng)計學 2019-12-08

第三天  R語言對象:向量和矩陣及其操作

R語言主要分析的對象是數(shù)據(jù)集,R語言數(shù)據(jù)集主要是向量、矩陣、數(shù)據(jù)框、列表、數(shù)組等,我們主要介紹前4種。本文先介紹向量和矩陣。

一、向量(一維數(shù)據(jù))

向量是R語言中最基本的數(shù)據(jù)對象類型,它可以是數(shù)值型、字符型、邏輯值型、復數(shù)型。注意:同一向量不能混雜多種不同類型的數(shù)據(jù)。

在醫(yī)學數(shù)據(jù)分析中,向量相當于一個變量,向量名為變量名,向量值為變量值

1. 創(chuàng)建向量

通過函數(shù)c( )現(xiàn)向量創(chuàng)建功能,例如

x1<-c(2,3,5,7,10)

x1

[1] 2 3 5 7 10

>x2<-c("a","b","c")

>x2

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

2. 向量索引(子集提?。?/strong>

向量子集索引一般采用中括號[ ],根據(jù)元素所在的位置或者名稱提取元素。向量子集的提取常見方法包括位置的提取、根據(jù)值大小提取、名稱的提取、采用subset( )函數(shù)提取。

第一種方法:位置提取法

(1)下標索引(注意:R中下標是從1開始的),例如

x1[1]      #返回x1的第1個元素

x1[-1]     #返回除第一個元素之外的所有元素

x1[c(2:4)]  #返回x1的第2至4個元素

x1[-c(2:4)]  #返回x1的除第2至4元素之外的所有元素

(2) which元素位置

通過函數(shù)which( )返回邏輯向量中為TRUE的位置;

which.max(x1)返回向量x1中最大值所在的位置;

which.min(x1)返回向量x1中最小值所在的位置。

> x1<-c(2,3,5,7,10)

> x1[which(x1>3 & x1<8)]

[1] 5 7

> x1[which.max(x1)]

ten

10

第二種方法:根據(jù)值大小提取

> x1<-c(2,3,5,7,10)

> x1[x1>3 & x1<8] # 產(chǎn)生大于3 又小于8的子集

[1] 5 7

第三種方法:根據(jù)名稱索引

先給向量中的每個元素命名,再通過名稱訪問對應的元素:

> names(x1)<-c("two","three","five","seven","ten")

> x1[c("three","seven")]

three seven

   3     7

第四種方法:subset生成子集

檢索向量中滿足條件的元素,提取出來:

> subset(x1,x1>3 & x1<8)

five seven

   5     7

3. 向量的編輯

對已創(chuàng)建向量進行增加或刪除元素。

(1)增加元素

>x<-1:5

>x

[1] 1 2 3 4 5

>x<-c(x, c(6,7,8))    # 在x后面增加6、7、8

>x

[1] 1 2 3 4 5 6 7 8

>x[10]=10 # 增加一個元素,第十個位置為10,第九個為缺失,缺失值用NA表示

>x

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

(2)刪除元素

>x=1:8

>x

[1] 1 2 3 4 5 6 7 8

>x<-x[-c(3,5)]  # 加負號,是反向刪除,這是最常見的方式

>x

[1] 1 2 4 6 7 8

>x<-x[-1]  # 刪去第一個元素

>x

[1] 2 4 6 7 8

 4.向量排序

函數(shù)sort(),基本格式:

sort(x,decreasing=FALSE, na.last= FALSE,...)

其中,x為排序對象(數(shù)值型或字符型);decreasing默認為FALSE即升序,TURE為降序;na.last默認為FALSE,若為TRUE,則將向量中的NA值放到序列末尾。

函數(shù)rank( ),返回值是該向量中對應元素的“排名”。

函數(shù)order(),返回值是對應“排名”的元素所在向量中的位置,例如,

>x<-c(1,5,8,2,9,7,4)

>x

[1] 1 5 8 2 9 7 4

>order(x)

[1] 1 4 7 2 6 3 5

說明:默認按升序,排名第2的元素在原向量的第4個位置。

函數(shù)rev( ),將序列進行反轉,即1,2,3變成3,2,1

5.向量的基本運算

向量基本運算函數(shù)也比較多,以下陳列部分:

length(x1)  #向量的長度

[1] 5

> mean(x1)  #計算向量均數(shù)

[1] 5.4

> sd(x1) #計算向量的均數(shù)

[1] 3.209361

> sum(x1) #計算向量的總計

[1] 27

> median(x1)  #計算向量的中位數(shù)

[1] 5

二、矩陣(二維數(shù)據(jù))

矩陣是二維數(shù)組,可以描述二維數(shù)據(jù)。它要求矩陣內(nèi)各元素有相同的類型,都是數(shù)值型,或者字符串型。在醫(yī)學數(shù)據(jù)分析中,一般情況下數(shù)據(jù)集不太會是矩陣,矩陣一般會出現(xiàn)數(shù)據(jù)分析結果中。

1.創(chuàng)建矩陣

矩陣一般在向量的基礎上產(chǎn)生,常用的函數(shù)為matrix()dim( )

函數(shù)matrix(),基本格式為:

matrix(x, nrow=..., ncol=..., byrow=..., dimnames=...)

其中,x為數(shù)據(jù)向量作為矩陣的元素;nrow設定行數(shù);ncol設定列數(shù);byrow設置是否按行填充,默認為FALSE(按列填充);dimnames用字符型向量表示矩陣的行名和列名。

>x<-1:6

>x

 [1]  1  2  3  4  5  6

>a<-matrix(x,nrow=3,ncol=2) #采用matrix產(chǎn)生3行2列矩陣

>a

    [,1] [,2]

[1,]    1    4

[2,]    2    5

[3,]    3    6

> b<-matrix(x,nrow=3,ncol=2,byrow=F, dimnames=list(c("r1","r2","r3"),  c("c1","c2")))

> b

  c1 c2

r1  1  4

r2  2  5

r3  3  6

函數(shù)dim(),主要方式是將向量設定為2維,具有規(guī)定行列數(shù)的矩陣:

>dim(x)=c(3,2) # 設為3行2列的矩陣

>x

     [,1] [,2]

[1,]    1    4

[2,]    2    5

[3,]    3    6

2.矩陣索引(子集提?。?/strong>

矩陣子集的提取和向量類似,主要以中括號[ ]方法提取,由于它是二維數(shù)據(jù),可以通過[ , ]分別提取行和列。主要的提取方式包括位置提取、名稱提取和值大小的提取

位置提取

a[i,j]  #返回矩陣a的第i行,第j列的元素

a[i,]   #返回矩陣a的第i行

a[,j]   #返回矩陣a的第j列

a[c(i:j),]  #返回矩陣a的第i至第j行

a[i,j]    #返回矩陣a的第i行,第j列的元素

按名稱索引:

b["r2","c1"]  #返回矩陣c的第r2行,第c1列的元素2

按值大小提取

b[,r2=2] # 返回“r2”一行值為2的一列

b[,r2=2] # 返回“r2”一行值為2的一列

3.矩陣的編輯

數(shù)據(jù)庫合并

函數(shù)rbind(A,B), 縱向合并(增加行),要求列數(shù)相同;

函數(shù)cbind(C,D), 衡向合并(增加列),要求行數(shù)相同。

注意:rbind(A,1) 相當于給矩陣A增加一行“1”。

> rbind(a,b)

  c1 c2

   1  4

   2  5

   3  6

r1  1  4

r2  2  5

r3  3  6

> cbind(a,b)

      c1 c2

r1 1 4  1  4

r2 2 5  2  5

r3 3 6  3  6

數(shù)據(jù)庫刪減

a[-1,],刪除矩陣a的第一行

a[,-1],刪除矩陣a的第一列

a[-c(2:4),],刪除矩陣a的第2至4行

4.矩陣的運算

+-*/——四則運算(要求矩陣維數(shù)相同)

colSums()  #對矩陣的各列求和

rowSums()  #對矩陣的各行求和

colMeans()  #對矩陣的各列求均值

rowMeans() #對矩陣的各行求均值

t()  #對矩陣轉置

%*% #矩陣乘法(要求左陣的列數(shù)=右陣的行數(shù))

diag() #取矩陣對角線元素生成對角矩陣,若對象是向量,則以該向量作為對角元素

solve()  #返回逆矩陣(要求矩陣可逆)

eigen() #返回矩陣的特征值與特征向量

DAY3的內(nèi)容就介紹到這里!

    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多