R语言 从命名的数字向量中只提取数字
在这篇文章中,我们将看到如何在R编程语言中从命名的数字向量中只提取数字。
方法1:使用NULL
可以在向量上调用names()方法,并将其分配给NULL,以便删除设置在此对象上的任何名称实例。它对原始向量对象进行修改。
# declaring a vector
vec <- c(0 : 5)
# assigning names to the vector
names(vec)<-c("Ele1", "Ele2", "Ele3",
"Ele4", "Ele5", "Ele6")
print("Original vector")
print(vec)
# assigning the names vector to null
names(vec) <- NULL
print("Modified vector")
print(vec)
输出
[1] "Original vector"
Ele1 Ele2 Ele3 Ele4 Ele5 Ele6
0 1 2 3 4 5
[1] "Modified vector"
[1] 0 1 2 3 4 5
解释: 字符串名称已经作为名称分配给向量的相应元素。一旦null被分配给names()方法,这些名字就会被重置,而只返回数值。
方法2:使用unname()方法
R中的unname()方法用于删除分配给R对象的任何名称实例,它被调用。它重置了分配给向量对象的名称,并从中提取了数字部分。这些变化必须被存储起来,以使它们在进一步的使用中得到反映。
# declaring a vector
vec <- c(0 : 5)
# assigning names to the vector
names(vec)<-c("Ele1", "Ele2",
"Ele3", "Ele4", "Ele5")
print("Original vector")
print(vec)
# assigning the names vector to null
vec_mod <- unname(vec)
print("Modified vector")
print(vec_mod)
输出
[1] "Original vector"
Ele1 Ele2 Ele3 Ele4 Ele5 <NA>
0 1 2 3 4 5
[1] "Modified vector"
[1] 0 1 2 3 4 5
方法3:使用as.numeric()方法
R中的as.numeric()方法是用来将一个参数胁迫成一个数值的。然而,它是一个通用函数,适用于整数、浮点数或双数类型的数字。它消除了存储在数字中的任何字符串,无论是名称还是不可转换为数字数据的元素。这些变化必须被存储起来,以使它们在进一步的使用中得到反映。
as.numeric(x)
# declaring a vector
vec <- c(1.2, 35.6, 35.2, 0.9, 46.7)
# assigning names to the vector
names(vec)<-c("Ele1", "Ele2",
"Ele3", "Ele4", "Ele5")
print("Original vector")
print(vec)
# reassigning names
vec_mod <- as.numeric(vec)
print("Modified vector")
print(vec_mod)
输出
[1] "Original vector"
Ele1 Ele2 Ele3 Ele4 Ele5
1.2 35.6 35.2 0.9 46.7
[1] "Modified vector"
[1] 1.2 35.6 35.2 0.9 46.7