R语言 矢量赋值
向量是R语言中最基本的数据结构之一。它们包含相同类型的数据。R中的向量等同于其他编程语言中的数组。在R语言中,数组是一个或多个维度的向量,创建的每一个对象都以向量的形式存储。向量的成员被称为组件。
矢量的赋值
有不同的方法来分配向量。在R语言中,这项任务可以用 c() 或 “: “或 seq() 函数来完成。
- 使用c()分配向量
示例 1:
# R program to illustrate
# Assigning vectors
# Using c()
V = c(1, 2, 4, 6, 7)
# Printing the Vector
print(V)
# Printing the data type of the vector
print(typeof(V))
输出 :
[1] 1 2 4 6 7
[1] "double"
示例 2:
# R program to illustrate
# Assigning vectors
# by default numeric values,
# double values and logical values
# are converted into characters
V2 = c(1.5, TRUE, 4, "Geeks")
# Printing the Vector
print(V2)
# Printing the data type of the vector
print(typeof(V2))
输出 :
[1] "1.5" "TRUE" "4" "Geeks"
[1] "character"
- 用以下方法分配一个矢量 “:”
在R中,为了创建一个连续值的向量,使用了“: “操作符。
示例 1:
# R program to illustrate
# Assigning vectors
# use':' to assign a vector
# of continuous values
V = 1:10
# Printing the vector
print(V)
输出 :
[1] 1 2 3 4 5 6 7 8 9 10
示例 2:
# R program to illustrate
# Assigning vectors
# use':' to assign a vector
# of continuous values
V = 1.5 : 9.5
# Printing the vector
print(V)
输出 :
[1] 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5
示例 3:
如果有一个不匹配的间隔,它将跳过最后一个值。
# R program to illustrate
# Assigning vectors
# use':' to assign a vector
# of continuous values
# instead of 9.5
# here we take 9.4
V = 1.5 : 9.4
# Printing the vector
print(V)
输出 :
[1] 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5
- 用seq()分配向量
为了创建有步长的向量,R提供了seq()函数。
示例 1:
# R program to illustrate
# Assigning vectors
# Assigning a vector using
# seq() function
V = seq(1, 3, by=0.2)
# Printing the vector
print(V)
输出 :
[1] 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 3.0
示例 2:
可以指定所需的矢量长度,步长会自动计算出来。
# R program to illustrate
# Assigning vectors
# Creating a vector using seq()
# specifying the length of the vector
V = seq(1, 10, length.out=5)
# Printing the vector
print(V)
输出 :
[1] 1.00 3.25 5.50 7.75 10.00
在R中分配命名向量
在R中也可以创建命名向量,这样每一个值都有一个名字与之对应。R提供了 names() 函数,以创建命名向量。
例子
假设有人想用每项运动的球员人数创建一个命名向量。要做到这一点,首先,他将创建一个包含球员人数的数字向量。现在,他可以使用 names() 函数将运动项目的名称分配给球员的数量。
# R program to illustrate
# Assigning named vectors
# Creating a numeric vector
# with the number of players
sports.players = c(2, 4, 5, 6, 7, 9, 11)
# Assigning sports name to the numeric vector
names(sports.players) = c("Bridge", "Polo", "Basketball",
"Volleyball", "kabaddi",
"Baseball", "Cricket")
# Displaying the named vector
print(sports.players)
输出:
Bridge Polo Basketball Volleyball kabaddi Baseball Cricket
2 4 5 6 7 9 11
为了获得一项具有特定数量的球员的运动。
# Displaying the sports with 9 players
print(names(sports.players[sports.players==9]))
# Displaying the sports with 1 player
print(names(sports.players[sports.players==1]))
输出
"Baseball"
character(0)
解释:
棒球有9名球员,所以它显示棒球为输出。因为在这个命名的向量中没有一个球员的运动,所以不产生输出,它显示的输出是字符(0)。
访问向量的元素
在R中,为了访问一个向量的元素,可以进行向量索引。
注意: 请注意,R语言中的索引是从1开始的,而不是0。
例1 :
# R program
# To access elements
# Creating a vector by seq() function
V = seq(1, 40, by= 4)
# Printing the vector
print(V)
# Printing the fifth element of the vector
print(V[5])
输出
[1] 1 5 9 13 17 21 25 29 33 37
[1] 17
例2 :
# R program
# To access multiple elements
# Creating a vector by seq() function
V = seq(1, 40, by= 4)
# Printing the vector
print(V)
# Printing the fifth and seventh element of the vector
print(V[c(5,7)])
输出
[1] 1 5 9 13 17 21 25 29 33 37
[1] 17 25