谢大飞

V1

2023/05/16阅读:13主题:默认主题

向量_R语言

R语言数据类型

常用的数据类型有数值型(numeric)、字符型(character)、逻辑型(logical)和复数型(complex),其中数值型又可以分为整数型(integer)和双精度型(double)

数据类型
数据类型

确认一种数据所属的类型可以是用typeof()函数来显示,也可以使用is族的函数来进行判断,而as族的函数可以实现不同数据类型之间的转换

数据类型转换
数据类型转换

数据类型的灵活性由低到高的顺序为逻辑型、整数型、双精度性和字符型。其中逻辑型的数据灵活性最低,只能被隐式强制转换为其他类型的数据。

数据类型转换顺序
数据类型转换顺序

特殊值

在R语言中有五种常用的特殊值,其分别是:NULL、NAN、NA、Inf以及-Inf

NULL表示变量为空;
NANA(not a number)表示相应的计算是没有数学意义或者是不能正常执行的;
NA(not available)表示缺失值;
Inf以及-Inf表示正无穷和负无穷

数据结构

数据结构可以理解为一种储存数据的方式。数据结构包括向量、矩阵、数组、因子、列表和数据框

多个数据
多个数据

向量

向量是由一组类型相同的元素组成的序列,这些元素可以是数值型(包括整数型和双精度型)、字符型、逻辑型、复数型等

创建向量:

  1. 使用c()函数进行创建
> x <- c(1,2,3,4)
> x
[1] 1 2 3 4
  1. 生成相邻元素之间步长相差为-1或者1的序列,可以使用:运算符来实现
> 1:14
 [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14
> 1:-5
[1]  1  0 -1 -2 -3 -4 -5
  1. 使用函数来进行创建:其中有重复的用rep(),数据有规律的序列使用seq(),生成随机数可以用rnorm()
> rep("student",times = 7)
[1] "student" "student" "student" "student" "student" "student"
[7] "student"
> seq(from = 2, to = 15, by =2)
[1]  2  4  6  8 10 12 14
> rnorm(n=4)
[1] -2.59145074 -0.50325987  2.36670749  0.07396636

R语言里的函数思想:能用函数替代就不要手动去数,除非这个代码只用一次 4. 通过组合生成更为复杂的向量

> paste0("student",seq(2,15,2))
[1] "student2"  "student4"  "student6"  "student8"  "student10"
[6] "student12" "student14"
向量生成
向量生成
向量统计操作
向量统计操作

向量取子集:

提取向量的子集就是得到由该向量的部分元素组成的向量,一般是通过方括号[]来实现的,具体实现方式:

  1. 按照位置取,通过在方括号中指定整数来返回部分子向量,其中正整数用来返回指定位置的元素组成的子向量,负整数用来返回向量中除去指定位置的元素组成的子向量

其中R语言向量中元素的起始位置是1

  1. 按照逻辑值取,通过在方括号中指定逻辑向量来返回向量中对应的逻辑值为TRUE的元素组成的子向量。
  2. 如果向量已经命名的话,可以在方括号中指定元素的名字来返回相应的子向量
#生成向量并命名

> x <- 1:26
> names(x) <- LETTERS    #按照大写字母命名
> x
 A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U 
 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 
 V  W  X  Y  Z 
22 23 24 25 26 

#按照位置取

> x[4:8]
D E F G H 
4 5 6 7 8 
> x[-c(4:8)]
 A  B  C  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z 
 1  2  3  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 

#按照逻辑值

> y <- c(rep(TRUE,10),rep(FALSE,16))
> y
 [1]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
[11] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[21] FALSE FALSE FALSE FALSE FALSE FALSE
> x[y]
 A  B  C  D  E  F  G  H  I  J 
 1  2  3  4  5  6  7  8  9 10 
 
#按照命名取

> x[c("X","Y","F")]
 X  Y  F 
24 25  6 

分类:

后端

标签:

数据结构与算法

作者介绍

谢大飞
V1