📅  最后修改于: 2023-12-03 14:46:53.493000             🧑  作者: Mango
R语言中的矢量是一种基本的数据类型,它可以容纳多个数值、字符值等,且矢量中的所有元素必须具有相同的数据类型。
在R语言中,常用的矢量类型包括:
numeric
:数值类型,可以是整型或浮点型。character
:字符类型,用引号括起来的任意文本字符串。logical
:逻辑类型,只有两个值TRUE和FALSE。integer
:整数类型,和数值类型有区别,占用空间更小。complex
:复数类型,包含实部和虚部,形如a + bi。可以用c()函数直接赋值方式创建矢量,如下所示:
# 创建数值类型矢量
x <- c(1, 2, 3, 4, 5)
# 创建字符类型矢量
y <- c("apple", "banana", "orange")
# 创建逻辑类型矢量
z <- c(TRUE, FALSE, TRUE, TRUE)
还可以用seq()函数生成一个序列的矢量,如下所示:
# 生成一个从1到10的数值矢量
x <- seq(1, 10)
# 生成一个从1到10,间隔为0.5的数值矢量
y <- seq(1, 10, by=0.5)
# 生成一份长为5的等差数列
z <- seq(1, 10, length=5)
可以使用rep()函数重复元素来生成矢量,如下所示:
# 生成一个包含5个"apple"的字符矢量
x <- rep("apple", 5)
# 生成一个包含5组(1, 2, 3)的数值类型矢量
y <- rep(c(1, 2, 3), 5)
可以通过下标来获取矢量中的元素:
fruits <- c("apple", "banana", "orange")
fruits[1] # "apple"
fruits[2] # "banana"
fruits[3] # "orange"
也可以使用冒号操作符来获取矢量中的一段元素,这称为切片:
# 获取第2~4个元素
fruits[2:4] # "banana" "orange"
# 获取前两个元素
fruits[1:2] # "apple" "banana"
# 获取后两个元素
fruits[2:3] # "banana" "orange"
R语言中的矢量运算是逐元素进行的,如下所示:
x <- c(1, 2, 3)
y <- c(2, 2, 2)
# 加法
x + y # 3 4 5
# 减法
x - y # -1 0 1
# 乘法
x * y # 2 4 6
# 除法
x / y # 0.5 1 1.5
另外,R语言中也可以对整个矢量进行数学函数操作,如下所示:
x <- c(1, 2, 3)
# 平方
x ^ 2 # 1 4 9
# 开方
sqrt(x) # 1 1.414214 1.732051
# 对数
log(x) # 0 0.6931472 1.0986123
矢量是R语言中基本的数据类型之一,可以包含多个数据元素,每个元素必须具有相同的类型。我们通过直接赋值、生成序列、重复元素等方式来创建矢量,并且可以使用下标、切片、逐元素运算以及数学函数操作来访问和处理矢量中的元素。