r是一種用於資料處理和統計分析的指令碼語言。
今天簡單練習了r語言的各種資料集包括向量、矩陣、陣列和資料框建立及使用。
1.向量:
(1)向量是用於儲存數值型、字元型或邏輯型資料的一維陣列
(2)如何用r語言建立向量呢?
字元型: >(輸入) a <- c('h','e','l','l','o')
> a
得到結果:[1] "h" "e" "l" "l" "o"
數值型: > b <-c(1,2,3)
> b
得到結果:[1] 1 2 3
邏輯型:> c <- c(true,false,true)
> c
得到結果:[1] true false true
2.矩陣
(1)矩陣是二維陣列,每個元素都模式相同(數值型、字元型或邏輯型)可通過函式matrix建立矩陣
(2)如何用r語言建立矩陣呢?
> (輸入) y <- matrix(1:20,nrow=5,ncol=4)
> y
得到結果:
[,1] [,2] [,3] [,4]
[1,] 1 6 11 16
[2,] 2 7 12 17
[3,] 3 8 13 18
[4,] 4 9 14 19
[5,] 5 10 15 20
可通過》(輸入) matrix檢視函式
(3)通過此方式將矩陣賦值
>y<-matrix(c(1,2,2,2,2,2,2,2,2,2,4,4,4,4,4,4,4,4,4,4),nrow=5,ncol=4)
> y
得到結果:
[,1] [,2] [,3] [,4]
[1,] 1 2 4 4
[2,] 2 2 4 4
[3,] 2 2 4 4
[4,] 2 2 4 4
[5,] 2 2 4 4
預設矩陣按列輸出資料,可以用如下方式更改按行輸出
> y <-matrix(1:20,ncol=5,nrow=4,byrow = true)
> y
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 6 7 8 9 10
[3,] 11 12 13 14 15
[4,] 16 17 18 19 20
(4)如何加矩陣維度標籤?
行命名:> rownames(y) <- letters[1:4]
> y
[,1] [,2] [,3] [,4] [,5]
a 1 2 3 4 5
b 6 7 8 9 10
c 11 12 13 14 15
d 16 17 18 19 20
列命名:> colnames(y) <- c("x","y","doc","bear","q")
> y
x y doc bear q
a 1 2 3 4 5
b 6 7 8 9 10
c 11 12 13 14 15
d 16 17 18 19 20
3.陣列
(1)如何用r語言建立陣列呢?
建立三維 (2×3×4)數值型陣列:
> z <- array(1:24, c(2,3,4))
> z
得到如下結果:
, , 1
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
, , 2
[,1] [,2] [,3]
[1,] 7 9 11
[2,] 8 10 12
, , 3
[,1] [,2] [,3]
[1,] 13 15 17
[2,] 14 16 18
, , 4
[,1] [,2] [,3]
[1,] 19 21 23
[2,] 20 22 24
提取資料》 z[2,1:3,1]
得到結果:[1] 2 4 6
(2)為列命名得到如下結果:
> colnames(z) <- c("x","y","doc")
> z
, , 1
x y doc
[1,] 1 3 5
[2,] 2 4 6
, , 2
x y doc
[1,] 7 9 11
[2,] 8 10 12
, , 3
x y doc
[1,] 13 15 17
[2,] 14 16 18
, , 4
x y doc
[1,] 19 21 23
[2,] 20 22 24
(3)為列命名得到如下結果:
> rownames(z) <- letters[1:2]
> z
, , 1
x y doc
a 1 3 5
b 2 4 6
, , 2
x y doc
a 7 9 11
b 8 10 12
, , 3
x y doc
a 13 15 17
b 14 16 18
, , 4
x y doc
a 19 21 23
b 20 22 24
4.資料框
(1)資料框可以不同的列包含不同模式(數值型、字元型等)的資料,是在r中常處理的資料結構。
(2)如何用r語言建立陣列呢?
> patientid <- c(1,2,3)
> age <-c(23,45,12)
> status <-c("good","good","poor")
> patientdata <- data.frame(patientid,age,status)
> patientdata
得到結果:
patientid age status
1 1 23 good
2 2 45 good
3 3 12 poor
進行一系列資料操作,如下:
> patientdata[,1]
[1] 1 2 3
> patientdata$age
[1] 23 45 12
> patientdata$status
[1] good good poor
levels: good poor
> table(patientdata$age,patientdata$status)
good poor
12 0 1
23 1 0
45 1 0
> x <- factor(c(1, 2, na), exclude = null)
> x
[1] 1 2
levels: 1 2
> a <- c(1,2,3)
> is.array(a)
[1] false
> is.factor(a)
[1] false
> is.vector(a)
[1] true
> class(a)
[1] "numeric"
> typeof(a)
[1] "double"
> length(a)
[1] 3
> str(a)
num [1:3] 1 2 3
> summary(a)
min. 1st qu. median mean 3rd qu. max.
1.0 1.5 2.0 2.0 2.5 3.0
R語言學習筆記 一
r是用於統計分析 繪圖的語言和操作環境。r是屬於gnu系統的乙個自由 免費 源 開放的軟體,它是乙個用於統計計算和統計製圖的優秀工具。r程式包是多個函式的集合,具有詳細的說明和示例。window下的r程式包是經過編譯的zip包。每個程式包包含r函式 資料 幫助檔案 描述檔案等。r程式包是r功能擴充套...
R語言學習筆記(一)
r語言學習筆記 一 r中的資料 一 r中的常用物件 objects 包括 1 向量 vector 2 因子 factor 是乙個分類變數 3 陣列 array 是乙個k維的資料表,所有的元素必須是同一種型別 4 矩陣 matrix 是陣列的乙個特例,其中k 2 5 資料框 data frame 是由...
R語言學習筆記
1.資料輸入 read.table n fileposition 函式 eg.x read.table c users administrator desktop 1.txt header t 目前只知道可以完好地讀入txt檔案 空格隔開 excel不支援 csv讀入不完全。ps.可以用excel生...