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)更快捷的開啟方式! file.choose()data
y x1 3 13
2 5 24
3 2 6
4 7 21
5 9 26
data=read.csv(file.choose())r中生成資料框若自己在r中建立了一些向量並試圖由它們生成資料框, 則可以使用data.frame()data
y x1 3 13
2 5 24
3 2 6
4 7 21
5 9 26
x=c(13,24,6,21,26)注1: index和value是重新命名的向量名字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
注2: 資料框中向量必須有相同的長度或長度有倍數關係
weight =c(70.6, 56.4, 80, 59.5)以資料集puromycin為例來說明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
[先導入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 # 取出變數的值新增新列iconc,使用$符號[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,使用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))分組計算函式summarybyconc 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
需載入doby包
library(doby)以state分組,計算conc列的均值,中位數以及方差warning message:
程輯包『doby』是用r版本3.6.2 來建造的
summaryby(conc ~ state, data=puromycin, fun=c(mean, median, var))排序函式orderbystate conc.mean conc.median conc.var
1 treated 0.3450000 0.165 0.1589000
2 untreated 0.2763636 0.110 0.1126055
按照變數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 建立乙個資料框 ...