
谢大飞
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表示正无穷和负无穷
数据结构
数据结构可以理解为一种储存数据的方式。数据结构包括向量、矩阵、数组、因子、列表和数据框

向量
向量是由一组类型相同的元素组成的序列,这些元素可以是数值型(包括整数型和双精度型)、字符型、逻辑型、复数型等
创建向量:
-
使用c()函数进行创建
> x <- c(1,2,3,4)
> x
[1] 1 2 3 4
-
生成相邻元素之间步长相差为-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
-
使用函数来进行创建:其中有重复的用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"


向量取子集:
提取向量的子集就是得到由该向量的部分元素组成的向量,一般是通过方括号[]来实现的,具体实现方式:
-
按照位置取,通过在方括号中指定整数来返回部分子向量,其中正整数用来返回指定位置的元素组成的子向量,负整数用来返回向量中除去指定位置的元素组成的子向量
其中R语言向量中元素的起始位置是1
-
按照逻辑值取,通过在方括号中指定逻辑向量来返回向量中对应的逻辑值为TRUE的元素组成的子向量。 -
如果向量已经命名的话,可以在方括号中指定元素的名字来返回相应的子向量
#生成向量并命名
> 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