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

下載本文檔

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

文檔簡(jiǎn)介

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

LR的歷史

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

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

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

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

2.尋求幫助

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

郵件。

2.1谷歌一下

在我們運(yùn)用R的時(shí)候可能會(huì)遇到的一些問題,首先我們須要將問題或者錯(cuò)

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

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

前是可以正常運(yùn)用的。

2.2論壇和郵件

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

問。在詢問的時(shí)候須要留意以下幾點(diǎn):

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

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

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

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

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

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

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

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

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

可以包含同一類型的多個(gè)對(duì)象。

數(shù)值型(numeric):一般數(shù)字形式的數(shù)據(jù)都為數(shù)值型(實(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是個(gè)特殊符號(hào),代表復(fù)數(shù)的虛部(imaginarypart)□

邏輯型(logical)TRUE和FALSE兩個(gè)固定值,用于指示推斷結(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):指向量中每個(gè)元素都是一個(gè)字符或字符串,即一般的

數(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的元

素個(gè)數(shù)

[1]3

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

數(shù)

[1]141

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

[1]FALSEFALSETRUE

因子型(factor):因子型數(shù)據(jù)類型簡(jiǎn)潔來說就是披著定量數(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)作是一個(gè)整型向量,其中每個(gè)整數(shù)都有一個(gè)標(biāo)簽。例如一個(gè)

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

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

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

可以運(yùn)用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)建一個(gè)含有兩個(gè)level(yes和no)的簡(jiǎn)潔因子,叮囑如下:

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

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

[1]22121

>attr(,"levels")

[1]"no""yes"

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

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

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

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

此時(shí)R不會(huì)報(bào)錯(cuò),而是將向量強(qiáng)制轉(zhuǎn)換成(coerce)為二者的最低級(jí)公共

類型。例如:

>yly3

[1]"a""TRUE"

>class(y3)

[1]"character"

若想強(qiáng)制轉(zhuǎn)換對(duì)象的類型,可以運(yù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)換也不愿定始終成功,假如它失敗了就會(huì)返回NA值。全部無意義

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

>yasplex(y)

[1]NANANA

Warningmessage:

NAsintroducedbycoercion

>xx

[1]13579

3.2.2矩陣

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

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

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

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

>m

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

[1,]NANANA

[2,]NANANA

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

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

[1]23

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

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

$dim

[1]23

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

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

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

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

叮囑如下:

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

變成2行5列的矩陣

>m

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

[1,]13579

[2,]246810

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

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

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

>X

[1]123

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

>y

[1]101112

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

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

xy

[1,]110

[2,]211

[3,]312

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

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

[,1H,2H,3]

x123

y101112

3.2.3列表

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

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

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

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

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

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

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

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

>xx

[[1]]

[1]1

[⑵]

[1]"a"

[[3]]

[1]TRUE

[[4]]

[1]l+4i

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論