R語言基礎(chǔ)知識_第1頁
R語言基礎(chǔ)知識_第2頁
R語言基礎(chǔ)知識_第3頁
R語言基礎(chǔ)知識_第4頁
R語言基礎(chǔ)知識_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

R語言基礎(chǔ)學(xué)問

LR的歷史

R是一個有著統(tǒng)計分析功能與強(qiáng)大作圖功能的軟件系統(tǒng),是由奧克蘭高校

統(tǒng)計學(xué)系的RossIhaka和RobertGentleman共同創(chuàng)立。由于他們的

名字的首字母都是R,因此R便成了這門語言的名稱。R受到了貝爾試驗

室的S語言的影響,因此R又被稱之為S語言的方言。

2.尋求幫助

在學(xué)習(xí)R的過程中尋求幫助的方法主要分三種谷歌一下、去論壇提問和發(fā)

郵件。

2.1谷歌一下

在我們運用R的時候可能會遇到的一些問題,首先我們須要將問題或者錯

誤的提示信息粘貼到谷歌中去。目前的翻墻方法有很多,如xx-net和運

用翻墻閱讀器等。我登陸谷歌的方法是運用天行者閱讀器來登錄谷歌,目

前是可以正常運用的。

2.2論壇和郵件

假如谷歌沒法幫我們解決問題,那么我們就須要到論壇或郵件列表去詢

問。在詢問的時候須要留意以下幾點:

供應(yīng)一個可以再現(xiàn)錯誤的例子,為了達(dá)到的目的是什么,運用的R的操作

系統(tǒng)、R的版本以與Rpackage的版本等。

3.數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu)

3.1基本數(shù)據(jù)類型

在R語言里操作和接觸的全部東西都稱作對象(object)o對象有很多種類

可以包含各種類型的數(shù)據(jù)。R語言里全部的東西都被稱為對象,R語言中

常見的數(shù)據(jù)類型有幾下幾種,分別是字符型(character)、數(shù)值型

(numeric)>整型(integer)>復(fù)數(shù)型(complex)>因子型(factor)以與

邏輯型(logical)oR語言里最常見的基本對象是向量(vector),一個向量

可以包含同一類型的多個對象。

數(shù)值型(numeric):一般數(shù)字形式的數(shù)據(jù)都為數(shù)值型(實數(shù)或者小數(shù)),從

傳統(tǒng)的數(shù)據(jù)分類方式來看,即指定量變量。

>x#構(gòu)造元素為1,2,3,4,5的向量x

>X#輸出X的值

[1]12345

>class(x)#顯示x的數(shù)據(jù)類型

[1]"numeric"

整型(integer):僅含有整數(shù),且設(shè)定數(shù)據(jù)類型為integer,否則一般為數(shù)值

型。

>xl=eger(x)#將x轉(zhuǎn)化為整數(shù)型數(shù)據(jù)xl

>class(xl)#顯示向量xl的數(shù)據(jù)類型

[1]"integer"

復(fù)數(shù)型(complexnumber):

>x2Conj(x3)

[1]1+Oi2-4i

其中i是個特殊符號,代表復(fù)數(shù)的虛部(imaginarypart)□

邏輯型(logical)TRUE和FALSE兩個固定值,用于指示推斷結(jié)果。

>x=c(l,2,3,4,5)#構(gòu)造元素依次為1,2,3,4,5的向

量x

>X

[1]12345

>x==2#推斷向量x中等于2的元素

[1]FALSETRUEFALSEFALSEFALSE

>!(x#推斷向量x中大于等于2的元素

[1]FALSETRUETRUETRUETRUE

>which(x#選擇向量中小于2的元素

[1]1

>is.logical(x)#推斷向量x是否為邏輯型數(shù)據(jù)

[1]FALSE

字符型(character):指向量中每個元素都是一個字符或字符串,即一般的

數(shù)據(jù)分類方式中所說的定性變量。

>y#構(gòu)造元素為字符串T、"love"、"R”的向量R

>y#輸出y的值

[1]"I""love""R"

>class(y)#顯示向量y的數(shù)據(jù)類型

[1]"character"

>length(y)#顯示向量y的維度,也就是y的元

素個數(shù)

[1]3

>nchar(y)#顯示向量y中每個元素的字符的個

數(shù)

[1]141

>y=="R"#推斷向量y中為"R"的元素

[1]FALSEFALSETRUE

因子型(factor):因子型數(shù)據(jù)類型簡潔來說就是披著定量數(shù)據(jù)外殼的定性數(shù)

據(jù),即以數(shù)字代碼的形式表現(xiàn)的字符型數(shù)據(jù),本質(zhì)上為定性數(shù)據(jù)。

因子(factor)是一種特殊的向量類型,通常用來記錄分類數(shù)據(jù)。因子有兩

種類型:有序的以與無序的。無序因子可以認(rèn)為是用來標(biāo)記那些有標(biāo)簽有

類別但是又沒有依次的數(shù)據(jù),比如說男性和女性。序因子可以用來標(biāo)記那

些有先后次序的數(shù)據(jù),這些數(shù)據(jù)可以不是數(shù)值型的,但卻是有序的。例如

高校的助理教授、副教授以與正教授,這就是一種有序的分類。所以可以

把有序因子當(dāng)作是一個整型向量,其中每個整數(shù)都有一個標(biāo)簽。例如一個

由1、2、3組成的向量,1代表較高的值,2代表一個中等的值,3代表

一個較低的值。這三個變量將會有三個標(biāo)簽,分別是高、中、低,在R當(dāng)

中分別用1、2、3來表示。

可以運用factor。函數(shù)來創(chuàng)建因子,叮囑如下:

>sex=factor(c(l,0,l,1>0;1),levels=c(0,1),labels=

c("male","female"))#設(shè)置因子型數(shù)據(jù)sex

>sex#輸出sex的值

[1]femalemalefemalefemalemalefemale

Levels:malefemale

>class(sex)#顯示sex的數(shù)據(jù)類型

[1]"factor"

創(chuàng)建一個含有兩個level(yes和no)的簡潔因子,叮囑如下:

>xunclass(x)#unclass()函數(shù)能夠去掉分類

信息,使x變?yōu)橐粋€整型向量

[1]22121

>attr(,"levels")

[1]"no""yes"

一個向量可以包含單一類型的多個對象,因此可以有實數(shù)向量或整數(shù)向

量。但是一個標(biāo)準(zhǔn)的向量不能包含不同類型的對象,同一個向量里的全部

對象都必需是同一類型的。假如一個向量中包含兩種不同類型的對象,那

么R會創(chuàng)建最低級公共類型(leastcommondenominator)的向量。

此時R不會報錯,而是將向量強(qiáng)制轉(zhuǎn)換成(coerce)為二者的最低級公共

類型。例如:

>yly3

[1]"a""TRUE"

>class(y3)

[1]"character"

若想強(qiáng)制轉(zhuǎn)換對象的類型,可以運用as.numeric()>as.logical。、

as.charcater()g數(shù)進(jìn)行強(qiáng)制轉(zhuǎn)換。

>xas.logical(x)#依據(jù)約定0轉(zhuǎn)換成FALSE,全部

大于。的數(shù)都轉(zhuǎn)換成TRUE

[1]FALSETRUETRUETRUETRUETRUETRUE

>class(x)

[1]"integer"

>as.character(x)

[1]“0““2““3““4””5"''6"

>class(x)

[1]"integer"

強(qiáng)制轉(zhuǎn)換也不愿定始終成功,假如它失敗了就會返回NA值。全部無意義

的強(qiáng)制轉(zhuǎn)換就會導(dǎo)致NA值。

>yasplex(y)

[1]NANANA

Warningmessage:

NAsintroducedbycoercion

>xx

[1]13579

3.2.2矩陣

矩陣(matrix)是R里的一類特殊向量,它們不是一種單一的數(shù)據(jù)類型,

而是有維度(dimension)屬性的向量。維度屬性是一個整型向量,它的

長度為2。其中第一個數(shù)字是矩陣的行數(shù),其次個數(shù)字是矩陣的列數(shù)。

>m#matrix()函數(shù)來創(chuàng)建一個2行3列的空矩陣

>m

[,1][,2][,3]

[1,]NANANA

[2,]NANANA

>dim(m)#運用dim()函數(shù)返回矩陣的維

度屬性:在這里為2行3列

[1]23

>attributes(m)#運用attributes。函數(shù)將返回

一個列表,其中的第一個元素是dim,dim中包含向量(2,3)

$dim

[1]23

這就是矩陣的全部特性它是一個具有維度屬性的向量。矩陣是按列生成

的,你可以把這個過程想象成把一個向量里的全部數(shù)按列填入矩陣中,先

填第一列,填完第一列最終一行的數(shù)字后再填其次列,然后是第三列等等。

例如運用1到6的數(shù)列創(chuàng)建一個矩陣,指定這個矩陣有2行3歹力輸入

叮囑如下:

>ndim(m)#運用dim。函數(shù)對數(shù)列m添加維度,把1到10的向量轉(zhuǎn)

變成2行5列的矩陣

>m

[,1][,2][,3][,4][,5]

[1,]13579

[2,]246810

還有一種創(chuàng)建矩陣的方法,通過綁定行或者列來創(chuàng)建。通過運用cbind()

和rbind()函數(shù)來創(chuàng)建,叮囑如下:

>x#構(gòu)建向量x

>X

[1]123

>y#構(gòu)建向量y

>y

[1]101112

>cbind(x,y)#運用cbind()函數(shù)以列排布的形式

合并向量x和y,生成3行2列的矩陣

xy

[1,]110

[2,]211

[3,]312

>rbind(x,y)#運用rbind。函數(shù)以行排布的形式

合并向量x和y,生成2行3列的矩陣

[,1H,2H,3]

x123

y101112

3.2.3列表

可以包含多種類型的對象的向量叫做列表(list),列表是一個向量是一個由

多個對象組成的序列,只是其中每個對象的類型可以各不相同。比方說一

個列表可以包含字符型、數(shù)值型和邏輯型的對象,也可以包含一個列表。

列表的每個元素可以是不同類型的對象,這就讓列表可以輕松存放各種類

型的數(shù)據(jù)。在R中列表是特殊有用而且常用的對象,尤其是在和其它我們

即將學(xué)到的函數(shù)類型一起運用時。

例如運用list。函數(shù)創(chuàng)建一個列表x,第一個元素是數(shù)值對象1,其次個元

素是字符、",第三個是邏輯值TRUE,第四個是復(fù)數(shù)。叮囑如下:

>xx

[[1]]

[1]1

[⑵]

[1]"a"

[[3]]

[1]TRUE

[[4]]

[1]l+4i

在輸出結(jié)果中雙層的中括號[川,列表的元素用[[]]里面的數(shù)字進(jìn)行索引

(index)0所以第一個元素是向量1,其次個元

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論