通过在R中有效地连接2个向量的成对对应元素来创建向量列表 [英] Make list of vectors by joining pair-corresponding elements of 2 vectors efficiently in R

查看:145
本文介绍了通过在R中有效地连接2个向量的成对对应元素来创建向量列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有2个向量:

v1 <- letters[1:5]
v2 <- as.character(1:5)

> v1
[1] "a" "b" "c" "d" "e"
> v2
[1] "1" "2" "3" "4" "5"

我想创建一个长度为5的列表,其中包含元素的向量,该向量由两个字符值组成:v1中的值和相应索引号中的v2值:

I want to create a list of length 5, which contains vectors of elements, consisting of two character values: value from v1 and value v2 from corresponding index number:

> list(c(v1[1], v2[1]),
+      c(v1[2], v2[2]),
+      c(v1[3], v2[3]),
+      c(v1[4], v2[4]),
+      c(v1[5], v2[5]))
[[1]]
[1] "a" "1"

[[2]]
[1] "b" "2"

[[3]]
[1] "c" "3"

[[4]]
[1] "d" "4"

[[5]]
[1] "e" "5"

如何在R中有效地做到这一点?

How to do this efficiently in R?

推荐答案

mapply(c, v1, v2, SIMPLIFY = FALSE)
#$a
#[1] "a" "1"

#$b
#[1] "b" "2"

#$c
#[1] "c" "3"

#$d
#[1] "d" "4"

#$e
#[1] "e" "5"

(或更准确地说,对于返回未命名列表的OP,请使用mapply(c, v1, v2, SIMPLIFY = FALSE, USE.NAMES = FALSE)).

(OR more precisely with respect to your OP which returns an unnamed list use mapply(c, v1, v2, SIMPLIFY = FALSE, USE.NAMES = FALSE) ).

这篇关于通过在R中有效地连接2个向量的成对对应元素来创建向量列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆