R语言创建命名向量

例子

命名向量可以通过多种方式创建。与c:

xc <- c('a' = 5, 'b' = 6, 'c' = 7, 'd' = 8)

结果是:

> xc

a b c d 

5 6 7 8

与list:

xl <- list('a' = 5, 'b' = 6, 'c' = 7, 'd' = 8)

结果是:

> xl

$a

[1] 5

$b

[1] 6

$c

[1] 7

$d

[1] 8

使用此setNames功能,可以使用两个相同长度的向量来创建命名向量:

x <- 5:8

y <- letters[1:4]

xy <- setNames(x, y)

这将产生一个命名的整数向量:

> xy

a b c d 

5 6 7 8

可以看出,这给出了与该c方法相同的结果。

您也可以使用该names函数获得相同的结果:

xy <- 5:8

names(xy) <- letters[1:4]

有了这样的向量,还可以按名称选择元素:

> xy["c"]

7

此功能使得可以使用这样的命名向量作为查找向量/表,以将值与数据帧中另一个向量或列的值进行匹配。考虑以下数据框:

mydf <- data.frame(let = c('c','a','b','d'))

> mydf

  let

1   c

2   a

3   b

4   d

假设您要在mydf数据num框中创建一个新变量,并使用行中的正确值调用该变量xy。使用该match功能xy可以从中选择适当的值:

mydf$num <- xy[match(mydf$let, names(xy))]

结果是:

> mydf

  let num

1   c   7

2   a   5

3   b   6

4   d   8

           

以上是 R语言创建命名向量 的全部内容, 来源链接: utcz.com/z/337241.html

回到顶部