📜  R-矢量(1)

📅  最后修改于: 2023-12-03 14:46:53.493000             🧑  作者: Mango

R-矢量

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语言中基本的数据类型之一,可以包含多个数据元素,每个元素必须具有相同的类型。我们通过直接赋值、生成序列、重复元素等方式来创建矢量,并且可以使用下标、切片、逐元素运算以及数学函数操作来访问和处理矢量中的元素。