熱線電話:13121318867

登錄
2020-08-22 閱讀量: 1464
R語言向量的建立 中

邏輯型向量的建立

與數值型向量相同,R允許對邏輯向量進行操作. 一個邏輯向量的值可以 是TRUE, FALSE和NA. 前兩個通常簡寫為T和F2 . 邏輯向量是由條件給出的. 譬如

> x <- c(10.4, 5.6, 3.1, 6.4, 21.7)

> temp <- x > 13

> temp

[1] FALSE FALSE FALSE FALSE TRUE

temp為一個與x長度相同,元素根據是否與條件相符而由TRUE或FALSE組成的向量. 邏輯向量可以在普通的運算中被使用,此時它們將被轉化為數字向量,FALSE當做0, 而TRUE當做1. 再看幾個簡單的例子:

> 7!=6

[1] TRUE

> !(7==6)

[1] TRUE

> !(7==6)==1

[1] TRUE

> (7==9)|(7>0)

[1] TRUE

> (7==9)&(7>0)

[1] FALSE

因子型向量的建立

一個因子或因子向量不僅包括分類變量本身, 還包括變量不同的可能水平(即使它們在數據中不出現).

說明: levels 用來指定因子的水平(缺省值是向量x中不同的值);labels用來指定水平的名字;exclude表示從向量x中剔除的水平值;ordered是一個邏輯型選項, 用來指定因子的水平是否有次序. 這里x可以是數值型或字符型, 這樣對應的因子也就稱為數值型因子或字符型因子. 因此, 因子的建立可以通過字符型向量或數值型向量來建立, 且可以轉化.

1) 將字符型向量轉換成因子

> a <- c("green", "blue", "green", "yellow")

> a <- factor(a)

a

[1] green blue green yellow

Levels: blue green yellow

2) 將數值型向量轉換成因子

> b <- c(1,2,3,1)

> b <- factor(b)

> b

[1] 1 2 3 1

Levels: 1 2 3

3) 將字符型因子轉換為數值型因子

> a <- c("green", "blue", "green", "yellow")

> a <- factor(a)

> levels(a)<-c(1,2,3,4)

> a

[1] 2 1 2 3

Levels: 1 2 3 4

> ff <- factor(c("A", "B", "C"), labels=c(1,2,3))

> ff

[1] 1 2 3

Levels: 1 2 3

4) 將數值型因子轉換為字符型因子

> b <- c(1,2,3,1)

> b <- factor(b)

> levels(b) <- c("low", "middle", "high")

> b

[1] low middle high low

Levels: low middle high

> ff <- factor(1:3, labels=c("A", "B", "C"))

ff

[1] A B C

Levels: A B C

注: 函數levels( )用來提取一個因子中可能的水平值, 例如

> ff <- factor(c(2, 4), levels=2:5)

> ff

[1] 2 4

Levels: 2 3 4 5

> levels(ff)

[1] "2" "3" "4" "5"

5) 函數gl( )能產生規則的因子序列. 這個函數的用法是gl(k,n),其中k是水平數, n是每個水平重復的次數. 此函數有兩個選項:length用來指定產生數據的個數, label用來指定每個水平因子的名字. 例如:

> gl(3, 5)

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

Levels: 1 2 3

> gl(3, 5, length=30)

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

Levels: 1 2 3

> gl(2, 6, label=c("Male", "Female"))

[1] Male Male Male Male Male Male

[7] Female Female Female Female Female Female

Levels: Male Female

> gl(2, 10)

[1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2

Levels: 1 2

> gl(2, 1, length=20)

[1] 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2

Levels: 1 2

> gl(2, 2, length=20)

[1] 1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2

Levels: 1 2

下次請期待數值型向量的運算




37.6978
0
關注作者
收藏
評論(0)

發表評論

暫無數據
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码