R語言入門基礎(chǔ)——基礎(chǔ)操作篇(二)

? ???作者:天人
? ? ?來源:天人的自我修養(yǎng)
1、向量(vector)
向量是R語言中最基本的數(shù)據(jù)類,也是最常用的類型,配合執(zhí)行組合功能的c()可以用來創(chuàng)建向量。如下:

#創(chuàng)建空向量
e(不一定要賦值給e,可以自己定義)<-vector('輸入要創(chuàng)建的數(shù)據(jù)類型',length=輸入要創(chuàng)建的長度)光看可能沒有什么感覺,所以下面創(chuàng)建幾個給大家看看。
代碼如下:
#創(chuàng)建一個長度為5的數(shù)值型空向量
e<-vector('numeric',length=5)
e
#創(chuàng)建一個長度為6的邏輯型空向量
f<-vector('logical',length=6)
f
#創(chuàng)建一個長度為10的字符型空向量
g<-vector('character',length=10)
g運(yùn)行結(jié)果如下:

矩陣是具有維度屬性的向量,矩陣都是二維的,和向量類似矩陣中也僅能包含一種數(shù)據(jù)類型。有的人可能無法理解什么是二維,為了讓大家能理解我還是畫個圖來解釋下,這是一維的圖形。


這三維的圖形

matrix(data,nrow,ncow,byrow,dimnames)關(guān)于matrix常用的參數(shù)表如下
參數(shù) | 描述 |
data | 矩陣所包含的元素 |
nrow | 行的維數(shù) |
ncol | 列的維數(shù) |
byrow | 矩陣的元素是否按行填充,默認(rèn)值為FALSE,即默認(rèn)按列填充 |
dimnames | 以字符型向量表示的行名和列名 |
matrix(data=要用來創(chuàng)建矩陣的向量名或向量具體內(nèi)容,nrow=輸入要設(shè)置的行數(shù),ncol=輸入要設(shè)置的列數(shù),byrow=選擇T為按行填充選擇F為按列填充,dimnames=list(c('輸入要設(shè)定的行名'),c('輸入要設(shè)定的列名')))矩陣的行數(shù)和列數(shù)要根據(jù)要來填充矩陣的向量數(shù)目來決定。matrix中最后一個參數(shù)是屬于可寫可不寫,如果需要設(shè)定行名和列名時才需要。說了這么多還是來點(diǎn)實(shí)踐比較好,實(shí)踐代碼如下
#創(chuàng)建矩陣
h<-c(1:9)??#1:9表示1到9內(nèi)的所有整數(shù)
matrix(data=h,nrow=3,ncol=3,byrow=T)運(yùn)行結(jié)果如下

3、數(shù)組(array)
數(shù)組與矩陣類似,唯一的區(qū)別在于矩陣是二維的,而數(shù)組可以突破二維,換句話說數(shù)組的維度可以大于2,但是矩陣的維度只能等于2。數(shù)組是多維同一類型的集合(字符型、數(shù)值型、邏輯型、復(fù)數(shù)型)。創(chuàng)建數(shù)組可以用array函數(shù)來創(chuàng)建,基本格式如下
array(data,dim,dimnames)array函數(shù)的參數(shù)描述如下表
參數(shù) | 描述 |
data | 數(shù)組的元素 |
dim | 數(shù)組的維數(shù) |
dimnames | 各維度的名稱 |
array(data=用于做數(shù)組的向量或向量內(nèi)容,dim=維度數(shù)(舉個例子如果想要創(chuàng)建一個三位的數(shù)組就寫成這樣c(長,寬,高)),dimnames=依舊是維度的名字)實(shí)踐代碼如下
#創(chuàng)建一個長寬高均為三的數(shù)組
i<-c(1:27)
array(data=i,dim=c(3,3,3))運(yùn)行結(jié)果

數(shù)據(jù)框是僅次于向量的最重要的數(shù)據(jù)對象類型,它是R語言中最常處理的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)框中的一列代表某一變量屬性的所有取值,一行代表某一樣本數(shù)據(jù)。這么所可能還是不具體,還是先上基本格式再放實(shí)踐好了。
基本格式
data.frame(col1,col2,col3)?#數(shù)據(jù)框中不止可以放三列,可以放很多列只是就寫了三列做例子實(shí)踐代碼:
j<-c(1:6)
k<-c('張三','李四','王五','趙六','趙四','王一')
l<-c(TRUE,FALSE,TRUE,FALSE,TRUE,TRUE)
m<-c(1.2,3.5,4.3,2.4,5.6,8.7)
data.frame(j,k,l,m)運(yùn)行結(jié)果

代碼
j<-c(1:6)
k<-c('張三','李四','王五','趙六','趙四','王一')
l<-c(TRUE,FALSE,TRUE,FALSE,TRUE,TRUE)
m<-c(1.2,3.5,4.3,2.4,5.6,8.7)
data.frame(序號=j,名字=k,是否正確=l,積分點(diǎn)=m)結(jié)果

向量、矩陣和數(shù)組只能存儲同一類型的數(shù)據(jù),數(shù)據(jù)框可以存放不同類型的向量數(shù)據(jù),但要求每一列中的數(shù)據(jù)類型和長度必須相同。而列表卻可以將不同類型、不同長度(或大小)的數(shù)據(jù)結(jié)合在一起。創(chuàng)建列表可以使用list函數(shù),基礎(chǔ)格式。
list(object1,object2,object3) #和數(shù)據(jù)框一樣可以多列list函數(shù)也和數(shù)據(jù)框一樣可以命名,方法和數(shù)據(jù)框一樣(對象名字=object)實(shí)踐代碼j<-c(1:6)
k<-c('張三','李四','王五','趙六','趙四','王一')
l<-c(TRUE,FALSE,TRUE,FALSE,TRUE,TRUE)
m<-c(1.2,3.5,4.3,2.4,5.6,8.7)
n<-c(2,34,55,6,7,6,6686,76,54,4,543,32,3)
list(序號=j,名字=k,是否正確=l,積分點(diǎn)=m,積分=n)因?yàn)楸容^懶就沒有再去編數(shù)據(jù)了,就在之前的基礎(chǔ)上加了一個。運(yùn)行結(jié)果
6、因子(factor)
因子是R語言中比較特殊的一個數(shù)據(jù)類型, 它是一個用于存儲類別的類型,就像你回答一個問題是或者否,又或者在買奶茶時要求糖的甜度那樣,表示分類的數(shù)據(jù)稱為因子,所有因子可以是字符型數(shù)據(jù)也可以是數(shù)值型數(shù)據(jù)(含整數(shù)型),并且因子具有水平(levels)用于限制因子的范圍。
7、時間序列
◆?◆?◆ ?◆?◆
長按二維碼關(guān)注我們
數(shù)據(jù)森麟公眾號的交流群已經(jīng)建立,許多小伙伴已經(jīng)加入其中,感謝大家的支持。大家可以在群里交流關(guān)于數(shù)據(jù)分析&數(shù)據(jù)挖掘的相關(guān)內(nèi)容,還沒有加入的小伙伴可以掃描下方管理員二維碼,進(jìn)群前一定要關(guān)注公眾號奧,關(guān)注后讓管理員幫忙拉進(jìn)群,期待大家的加入。
管理員二維碼:
