一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - R語言 - R語言數(shù)據(jù)類型深入詳解

R語言數(shù)據(jù)類型深入詳解

2021-12-29 14:31Zhao-Pace R語言

這篇文章主要介紹了R語言數(shù)據(jù)類型深入詳解,內(nèi)容對于數(shù)據(jù)類型講解的很詳細(xì),有對于R語言感興趣的同學(xué)可以多學(xué)習(xí)下

R語言用來存儲數(shù)據(jù)的對象包括: 向量, 因子, 數(shù)組, 矩陣, 數(shù)據(jù)框, 時間序列(ts)以及列表

意義介紹

1. 向量(一維數(shù)據(jù)): 只能存放同一類型的數(shù)據(jù)

語法: c(data1, data2, ...),訪問的時候下標(biāo)從1開始(和Matlab相同);向量里面只能存放相同類型的數(shù)據(jù).

?
1
2
3
4
5
6
> x <- c(1,5,8,9,1,2,5)
> x
[1] 1 5 8 9 1 2 5
> y <- c(1,"zhao") # 這里面有integer和字符串, 整數(shù)自動轉(zhuǎn)化成了字符
> y[1]
[1] "1"

訪問:

?
1
2
3
4
> x[-(1:2)]  # 不顯示第1,2個元素
[1] 8 9 1 2 5
> x[2:4]    # 訪問第2,3,4個元素
[1] 5 8 9

2. 因子(factors): 提供了一個處理分類數(shù)據(jù)的更簡潔的方式

因子在整個計算過程中不再作為數(shù)值, 而是作為一個"符號"而已.

factor(x=character(), levels, labels=levels, exclude=NA, ordered=is.ordered(x), nmax=NA)

x: 一個數(shù)據(jù)向量, 它將被轉(zhuǎn)換成為因子;

levels: 用來指定因子可能出現(xiàn)的水平(默認(rèn)也就是向量x里面互異的值, sort(unique(x)));它是一個字符向量(即每個元素是單個字符, 組成的一個向量), 下面的變量b就是一個字符向量(可以使用as.character()函數(shù)來生成).

labels: 用來指定水平的名字;

?
1
2
3
4
> a <- c(6,1,3,0)
> b = as.character(a)
> b
[1] "6" "1" "3" "0"

exclude: 一個值向量, 表示從向量x里面剔除的水平值.

nmax: 水平數(shù)目的上界.

?
1
2
3
4
5
6
7
8
9
> factor(1:3)
[1] 1 2 3
Levels: 1 2 3
> factor(1:3, levels=1:6)
[1] 1 2 3
Levels: 1 2 3 4 5 6
> factor(1:6, exclude = 2)
[1] 1  <NA> 3  4  5  6 
Levels: 1 3 4 5 6

一般因子(factor) VS 有序因子(ordered factor)

因子用來存放變量或者有序變量, 這類變量不能用來計算, 而只能用來分類或者計數(shù). 一般因子表示分類變量, 有序因子用來表示有序變量.

創(chuàng)建一個因子:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
> colour <- c('G', 'G', 'R', 'Y', 'G', 'Y', 'Y', 'R', 'Y')
> col <- factor(colour) #生成因子
#labels里面的內(nèi)容代替對應(yīng)位置處的levels內(nèi)容
> col1 <- factor(colour, levels = c('G', 'R', 'Y'), labels = c('Green', 'Red', 'Yellow'))
> levels(col)
[1] "G" "R" "Y"
> levels(col1)
[1] "Green" "Red"  "Yellow"
> col2 <- factor(colour, levels = c('G', 'R', 'Y'), labels = c('1', '2', '3'))
> levels(col2)
[1] "1" "2" "3"
> col_vec <- as.vector(col2)
> class(col_vec)
[1] "character"
> col2
[1] 1 1 2 3 1 3 3 2 3
Levels: 1 2 3
> col_num <- as.numeric(col2)
> col_num
[1] 1 1 2 3 1 3 3 2 3
> col3 <- factor(colour, levels = c('G', 'R')) #levels里面沒有'B',導(dǎo)致col3里面的'B'變成了<NA>
> col3
[1] G  G  R  <NA> G  <NA> <NA> R  <NA>
Levels: G R
> colour
[1] "G" "G" "R" "Y" "G" "Y" "Y" "R" "Y"

創(chuàng)建一個有序因子:

?
1
2
3
4
5
> score <- c('A', 'B', 'A', 'C', 'B')
> score1 <- ordered(score, levels = c('C', 'B', 'A'));
> score1
[1] A B A C B
Levels: C < B < A

3. 矩陣(matrix, 二維數(shù)據(jù)): 只能存放同一類型

語法: matrix(data, nrow = , ncol = , byrow = F) -- byrow = F表示按列來存放數(shù)據(jù)(默認(rèn)), byrow=T表示按行存放數(shù)據(jù);

?
1
2
3
4
5
> xx = matrix(1:10, 2, 5)
> xx
   [,1] [,2] [,3] [,4] [,5]
[1,]  1  3  5  7  9
[2,]  2  4  6  8  10

4. 數(shù)組(大于等于三維的數(shù)據(jù)): 只能存放同一類型

語法: array(data, dim) -- data: 必須是同一類型的數(shù)據(jù); dim: 各維的維度組成的向量;(怎么感覺和matlab里面的reshape函數(shù)那么像)

?
1
2
3
4
5
> a = array(1:10,c(2,5))
> a
   [,1] [,2] [,3] [,4] [,5]
[1,]  1  3  5  7  9
[2,]  2  4  6  8  10

5. 數(shù)據(jù)框(data frame)

數(shù)據(jù)框是一種矩陣形式排列的數(shù)據(jù)(類似于excel表格), 但是和矩陣不同的是, 它的每一列可以是不同的數(shù)據(jù)類型(還是和excel很像).

語法: data.frame(data1, data2,...) -- data1,...為每列的數(shù)據(jù).

?
1
2
3
4
5
6
7
8
9
> name <- c("Mr A", "Mr B", "Mr C")
> group <- rep(1,3)
> scort <- c(58,15,41)
> df <- data.frame(name, group, scort)
> df
 name group scort
1 Mr A   1  58
2 Mr B   1  15
3 Mr C   1  41

數(shù)據(jù)訪問:

?
1
2
3
4
5
6
7
8
> df$name
[1] Mr A Mr B Mr C
Levels: Mr A Mr B Mr C
 > df[1]
  name
 1 Mr A
 2 Mr B
 3 Mr C

6. 列表(list): 可以存放不同類型的數(shù)據(jù)

語法: list(name1=component1, name2=component2, ...)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
> xx <- rep(1:2, 3:4)
> yy <- c('Mr A', 'Mr B', 'Mr C', 'Mr D', 'Mr E', 'Mr D', 'Mr F')
> zz <- 'discussion group'
> name.list <- list(group = xx, name = yy, decription = zz) 
> name.list
$group
[1] 1 1 1 2 2 2 2
 
$name
[1] "Mr A" "Mr B" "Mr C" "Mr D" "Mr E" "Mr D" "Mr F"
 
$decription
[1] "discussion group"

參考:

blog.sina.com.cn/s/blog_4d9814240102vigp.html

到此這篇關(guān)于R語言數(shù)據(jù)類型深入詳解的文章就介紹到這了,更多相關(guān)R語言數(shù)據(jù)類型內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://www.cnblogs.com/zhao441354231/p/5970544.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99热这里只有精品国产在热久久 | 胸奶好大好紧好湿好爽 | 射逼网| 99热精品成人免费观看 | 波多野结衣伦理在线观看 | 成年人在线观看视频免费 | 欧美男同猛男 videos 同性 | 村上里沙40分钟在线观看 | 11 13加污女qq看他下面 | 欧美成人午夜片一一在线观看 | 天天干天天操天天爽 | 丝瓜秋葵番茄绿巨人在线观看 | 高清国产精品久久久久 | 哇嘎在线精品视频在线观看 | 海角社区在线视频 | 蜜桃视频在线观看官网 | 69看片| 纲手被强喷水羞羞漫画 | 国产精品日本一区二区三区在线看 | 88av免费观看 | 日本红色高清免费观看 | 红楼梦黄色小说 | 草莓秋葵菠萝蜜绿巨人污 | 国产色司机在线视频免费观看 | 操mm | free性丰满hd性欧美人体 | 青青草在观免费 | 无套大战白嫩乌克兰美女 | 操破苍穹在线 | 黄瓜视频黄 | 成人毛片1024你懂的 | 99久久久久国产精品免费 | 超级乱淫伦小说全集np | 6969精品视频在线观看 | 性啪啪chinese东北女人 | 成人影院免费看 | 四虎影院入口 | 美女沟厕撒尿全过程高清图片 | 国产免费丝袜调教视频 | 国产成人夜色影视视频 | 久久精麻豆亚洲AV国产品 |