R語(yǔ)言-基本數(shù)據(jù)對(duì)象之?dāng)?shù)據(jù)框_第1頁(yè)
R語(yǔ)言-基本數(shù)據(jù)對(duì)象之?dāng)?shù)據(jù)框_第2頁(yè)
R語(yǔ)言-基本數(shù)據(jù)對(duì)象之?dāng)?shù)據(jù)框_第3頁(yè)
R語(yǔ)言-基本數(shù)據(jù)對(duì)象之?dāng)?shù)據(jù)框_第4頁(yè)
R語(yǔ)言-基本數(shù)據(jù)對(duì)象之?dāng)?shù)據(jù)框_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

【實(shí)驗(yàn)?zāi)康摹?/p>

1)熟悉R語(yǔ)言的基本數(shù)據(jù)類型

2)熟悉R語(yǔ)言的基本操作

3)熟悉R語(yǔ)言數(shù)據(jù)框的操作

【實(shí)驗(yàn)原理】

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

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

數(shù)據(jù)類型有幾下幾種,分別是字符型(character)、數(shù)值型(numeric)、復(fù)數(shù)型

(complex)以及邏輯型(logical)o通過mode。函薪可以查看一個(gè)對(duì)象的類型。

R語(yǔ)言中的基本運(yùn)算包括以下:數(shù)學(xué)計(jì)算,比較運(yùn)算,運(yùn)算函數(shù),向量常用統(tǒng)

計(jì)函數(shù),矩陣常用函數(shù)集合運(yùn)算,向量化,從文件中讀取數(shù)據(jù),概率分布,循環(huán)

和條件操作。

R語(yǔ)言的數(shù)據(jù)對(duì)象主要包括向量(vector),矩陣(mathx),因子(factors),列表

(list),數(shù)據(jù)框(dataframe),函數(shù)(function)。

數(shù)據(jù)框是表或二維陣列狀結(jié)構(gòu),其中每一列包含一個(gè)變量的值,并且每一行

包含來(lái)自每一列的一組值。

以下是數(shù)據(jù)框的特性。

1)列名稱應(yīng)為非空。

2)行名稱應(yīng)該是唯一的。

3)存儲(chǔ)在數(shù)據(jù)框中的數(shù)據(jù)可以是數(shù)字,因子或字符類型。

4)每個(gè)列應(yīng)包含相同數(shù)量的數(shù)據(jù)項(xiàng)。

【實(shí)驗(yàn)環(huán)境】

本次環(huán)境是:win764位系統(tǒng)+R3.3.3

【實(shí)驗(yàn)步驟】

一、打開R語(yǔ)言的界面

1.1雙擊桌面上的程序Rx64333,出現(xiàn)如下畫面,則打開成功。如圖1

所示

RFileEditViewMisePackagesWindowsHelp

同畫間同囤?]畫囹

>I

一、數(shù)據(jù)框

2.1數(shù)據(jù)框介紹

數(shù)據(jù)框是R語(yǔ)言里中的一種數(shù)據(jù)結(jié)構(gòu),其內(nèi)部可以由多種數(shù)據(jù)類型,每一

列是一個(gè)變量,每行是一個(gè)觀測(cè)記錄。在R中數(shù)據(jù)框是很通用的數(shù)據(jù)結(jié)構(gòu),它

是一種特殊的列表對(duì)象

2.2數(shù)據(jù)框的生成。

語(yǔ)法是:data.frame(data1,data2,

>name<-c(*MrA',*MrB*,*MrC*)

>group<-rep(1,3)

>score<-c(69,71z92)

>dd<-data.frame(name,group,score)

>dd

namegroupscore

1MrA169

2MrB171

3MrC192

>I

2.3根據(jù)列表生成數(shù)據(jù)框。

mylist=list(name=cCa','b','c'),sex=c('1','O','1'),age=c(12,24,35))“

>mylist=list(name=c('a*z'b*,'c"),sex=c('1*,'i

>

>mylist

$name

[1]na""b""c"

$sex

[1]n1nno,f”]”

$G一

a-J

[lU122435

$aie

pz

[-T]22435

>

>d=as.data.frame(mylist)

>d

namesexage

1a112

2b024

3c135

>

根據(jù)矩陣生成數(shù)據(jù)框。

如果原來(lái)有列名,那么列名將被改作為數(shù)據(jù)框的變量名,如果沒有列名,

那系統(tǒng)會(huì)自動(dòng)為矩陣的各列起一個(gè)變量名,如:V1,V2,V3...

>x=array(1:12,c(3,4))

>x

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

[1J14710

[2,]25811

[3,]36912

>

>x=as.data.frame(x)

>x

VIV2V3V4

114710

225811

336912

>

三、數(shù)據(jù)框的引用。

3.1使用下標(biāo)引用。

表示取數(shù)據(jù)框的第1到第2行,第2列到第4歹

[3,]36912

>

>x=as.data.frame(x)

>x

VIV2V3V4

114710

225811

336912

/

[T224

7Xx?:

V2V3V4

1471o

5

2811

、

3.2按列表名引用

336912

>

[1224

>X:?

V2V34

V-

1471o

25811

>

>

>

>XrL[VVI

[1]123

>

>

3.3.數(shù)據(jù)框的names()函數(shù),顯示列名。

14710

25811

>

>

>

>xtfVl1]]

[1]123

>

>

>

>names(x)

[1]nVlnnV2nnV3n“V4”

>

修改數(shù)據(jù)框的列名。

使用colnames()函數(shù)。

>

>colnames(x)=c('1','2','3','4')

>x

1234

114710

225811

336912

>

修改數(shù)據(jù)框的行名。

使用rownames()來(lái)修改

>

>rownames(x)=c('第一行'3第二行'J第三行,)

>x

1234

第一行14710

第二行25811

第三行36912

>

數(shù)據(jù)框的合并

使用rbind()函數(shù)進(jìn)行數(shù)據(jù)框的行合并。

>name<-c(*MrA*,*MrB*A*MrC')

>group<-rep(1,3)

>score<-c(69,71,92)

>dd<-data.frame(name,group,score)

>name<-c(*MrC*z*MrD*)

>group<-c(2,2)

>score<-c(93,99)

>ddl<-data.frame(name,score,group)

>dd2<-rbind(dd,ddl)

>ddl

namescoregroup

1MrC932

2MrD992

>dd2

namegroupscore

使用cbindO函數(shù)進(jìn)行數(shù)據(jù)框的列合并。

>age<-c(14A15z14z16,13)

>dd4<-cbind(dd2,age)

>dd4

namegroupscore3g一

1MrA16914

2MrB17115

3MrC19214

4MrC29316

5MrD29913

>

數(shù)據(jù)框attach()函數(shù)

數(shù)據(jù)框的主要用途是保存統(tǒng)計(jì)建模的數(shù)據(jù),R的統(tǒng)計(jì)建模功能都需要以數(shù)

據(jù)框?yàn)檩斎霐?shù)據(jù),我們可以把數(shù)據(jù)框當(dāng)成一種矩陣來(lái)處理。在使用數(shù)據(jù)框的變量

時(shí)可以使用“數(shù)據(jù)框名$變量名”來(lái)獲取數(shù)據(jù)框的變量值。但是這種用法比較麻煩,

R提供attach。函數(shù)可以把數(shù)據(jù)框中的變量“連接”到內(nèi)存中,這樣便于數(shù)據(jù)框數(shù)

據(jù)的調(diào)用。

使用attach。函數(shù)將數(shù)據(jù)框加載到內(nèi)存中

d=data.frame(height=c(100,200,300),weight=c(1,2,3))“

>d=data.frame(height=c(100,200

>d

heightweight

11001

22002

33003

>attach(d)

>height/weight

[1]100100100

>

將新的變量添加到數(shù)據(jù)框中

使用$命令將新變量添加到數(shù)據(jù)框中。

>

>d$val=height/weight

>d

brightweightval

11001100

22002100

33003100

>

數(shù)據(jù)框的修改

數(shù)據(jù)框的修改

使用edit。函數(shù)。對(duì)于彈出的窗口可以手動(dòng)修改里面的內(nèi)容

RieWindowsEditHelp

>height/weightzZ.UUz.±uu

[1]10010010033003100

>4

>5

>d$val=height/weight6k

>d7

heightweightval

8

11001100

9

22002100

3300310010

>11

12

>dl=edit(d)13

14

15

使用fix()函數(shù),對(duì)于彈出的窗口可以手動(dòng)修改里面的內(nèi)容

>33003100

>d$val=heigb4

>d5

heightweic6

1100-

7

2200

8

3300

>9

>10t

>dl=edit(d)11

>12

>------------131

>fix(d)14

15

四、數(shù)據(jù)框的合并

merge函數(shù)對(duì)數(shù)據(jù)框的操作,從兩個(gè)數(shù)據(jù)框中選擇出條件相等的行組合成一個(gè)新

的數(shù)據(jù)框

dfl=daXa^J,rame^name=c(,,aa,/,,zbb,z,^cc^),age=c(20,90,30),sex=c(〃f〃,〃m〃,

1))二

df2=data.frame(name=c("dd〃,〃bb〃,〃cc"),age=c(40,35,36),sex=c(〃f”,

f〃))〃

>dfl=data.frame(name=c(”aa","bb","cc")

>

>df2=data.frame(name=c("dd",Hbbn,nccn)

>

>

>dfl

nameagesex

1aa20f

2bb90m

3

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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)論