R入門 資料框

2021-10-03 05:14:44 字數 4678 閱讀 2213

1.許多資料集是以資料框的形式出現。

2.乙個資料框就是將許多向量組合起來的乙個物件,它是二維的,通常其列表示變數, 其行表示觀測, 顯示資料框時左側會顯示觀測值的序號。

若資料本身儲存在乙個檔案中, 則通過讀取該檔案建立資料框

read.table() 可以讀取txt檔案

r無法讀取excel直接儲存檔案,應該檔案——匯出——csv格式儲存

read.csv() 先將資料另存為帶逗號的資料(comma seperated values)

read.delim() 先將資料另存為用tab作為分界符的資料

注:若資料集很大(如1,000,000觀測x200變數),則可由odbc聯接由資料庫讀入.

匯入外部資料示例

建立如下資料,儲存在 c:\users\我\desktop\example.csv 中

(rgui可讀取有中文的檔案)

!!需使用 / 注意!!

header=t,匯入資料第一行標題

data=read.csv(「c:/users/我/desktop/example.csv」,header=t)

data

y x1 3 13

2 5 24

3 2 6

4 7 21

5 9 26

更快捷的開啟方式! file.choose()

data=read.csv(file.choose())

data

y x1 3 13

2 5 24

3 2 6

4 7 21

5 9 26

r中生成資料框若自己在r中建立了一些向量並試圖由它們生成資料框, 則可以使用data.frame()

x=c(13,24,6,21,26)

y=1:5

z = data.frame(index=y, value=x)

zindex value

1 1 13

2 2 24

3 3 6

4 4 21

5 5 26

注1: index和value是重新命名的向量名字

注2: 資料框中向量必須有相同的長度或長度有倍數關係

weight =c(70.6, 56.4, 80, 59.5)

s =c(「adult」, 「teen」)

dat =data.frame(weight, age=s)

datweight age

1 70.6 adult

2 56.4 teen

3 80.0 adult

4 59.5 teen

以資料集puromycin為例來說明

[先導入r自帶(built-in)的資料集:puromycin ]

help(puromycin) #顯示該資料集的詳細資訊

head(puromycin) #顯示該資料集的前幾行

summary(puromycin) #顯示主要的描述性統計量

pairs(puromycin, panel=panel.smooth)

#通過成對資料散點圖顯示變數之間的關係

#由交叉分類因子產生乙個列聯表, 顯示交叉變數的頻數

puromycin[1, 1] #第一行第乙個

[1] 0.02

puromycin[c(1, 3, 5), c(1, 3)] #第1,3,5行第1,3列

conc state

1 0.02 treated

3 0.06 treated

5 0.11 treated

puromycin[c(1, 3, 5), c(「conc」, 「state」)]#「conc」, "state"列的第1,3,5行

conc state

1 0.02 treated

3 0.06 treated

5 0.11 treated

puromycin[c(1, 3, 5), ] # 取出整個行(觀測值)

conc rate state

1 0.02 76 treated

3 0.06 97 treated

5 0.11 123 treated

取出特定變數的值,用$符號

puromycin$conc # 取出變數的值

[1] 0.02 0.02 0.06 0.06 0.11 0.11 0.22 0.22 0.56 0.56 1.10 1.10 0.02 0.02

[15] 0.06 0.06 0.11 0.11 0.22 0.22 0.56 0.56 1.10

新增新列iconc,使用$符號

新增新列iconc,使用with函式

使用transform,且一次性可定義多個變數

函式subset

subset(puromycin, state == 「treated」 & rate > 160)

conc rate state iconc conc2 sqrtconc

9 0.56 191 treated 1 2 3

10 0.56 201 treated 1 2 3

11 1.10 207 treated 1 2 3

12 1.10 200 treated 1 2 3

subset(puromycin, conc > mean(conc))

conc rate state iconc conc2 sqrtconc

9 0.56 191 treated 1 2 3

10 0.56 201 treated 1 2 3

11 1.10 207 treated 1 2 3

12 1.10 200 treated 1 2 3

21 0.56 144 untreated 1 2 3

22 0.56 158 untreated 1 2 3

23 1.10 160 untreated 1 2 3

分組計算函式summaryby

需載入doby包

library(doby)

warning message:

程輯包『doby』是用r版本3.6.2 來建造的

以state分組,計算conc列的均值,中位數以及方差

summaryby(conc ~ state, data=puromycin, fun=c(mean, median, var))

state conc.mean conc.median conc.var

1 treated 0.3450000 0.165 0.1589000

2 untreated 0.2763636 0.110 0.1126055

排序函式orderby

按照變數conc排序

puromycinorder

puromycinorder

conc rate state iconc conc2 sqrtconc

1 0.02 76 treated 1 2 3

2 0.02 47 treated 1 2 3

13 0.02 67 untreated 1 2 3

14 0.02 51 untreated 1 2 3

3 0.06 97 treated 1 2 3

4 0.06 107 treated 1 2 3

15 0.06 84 untreated 1 2 3

16 0.06 86 untreated 1 2 3

5 0.11 123 treated 1 2 3

後續——列表

(加油加油衝衝衝!learn!)

R語言入門 資料框和列表

資料框 由於不同的列可以包含不同模式 數值型 字元型等 的資料,資料框的概念較矩陣來說更 為一般。它與你通常在sas spss和stata中看到的資料集類似。資料框將是你在r中最常處理的 資料結構。表2 1所示的病例資料集包含了數值型和字元型資料。由於資料有多種模式,無法將此資料 集放入乙個矩陣。在...

R 資料框操作

1.按條件提取某些樣本 data subj age presentation product choice 1 1 m 21 absdiff pillow y 2 1 m 21 absdiff table y 3 1 m 21 absdiff helmet y 4 1 m 21 absdiff ne...

R語言資料框

資料框的建立 通過data.frame函式來建立資料框,該函式包含的主要引數為 data.frame row.names null,check.rows false,check.names true,stringsasfactors default.stringsasfactors 建立乙個資料框 ...