首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复制向量的每个元素,并在偶数元素中添加"a“到奇数和"b”。

复制向量的每个元素,并在偶数元素中添加"a“到奇数和"b”。
EN

Stack Overflow用户
提问于 2018-08-07 22:17:55
回答 1查看 40关注 0票数 1

这是我的原始矢量(长度可以变化)

代码语言:javascript
复制
c("e1","e2","e3","e4","e5","e6","e7","e8","e9","e10")

我想复制每个元素(保持顺序),并将"a“属性为第一次出现,"b”属性为第二次,以获得:

代码语言:javascript
复制
c("e1a","e1b","e2a","e2b","e3a","e3b","e4a","e4b","e5a","e5b","e6a","e6b","e7","e7b","e8a","e8b","e9a","e9b","e10a","e10b")

我怎样才能在R中以一种简洁的方式做到这一点呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-07 22:23:55

您可以使用rep(each = 2)获取复制,然后使用paste0添加后缀字母如下所示。

这是向量回收的一个很好的例子;paste0将使用c("a", "b")元素,直到长向量的长度自动耗尽为止。因此,您可以使用原始vec的任意长度来完成此操作。许多基础和包R功能将做一些类似的事情。

代码语言:javascript
复制
vec <- c("e1","e2","e3","e4","e5","e6","e7","e8","e9","e10")
paste0(rep(vec, each = 2), c("a", "b"))
#>  [1] "e1a"  "e1b"  "e2a"  "e2b"  "e3a"  "e3b"  "e4a"  "e4b"  "e5a"  "e5b" 
#> [11] "e6a"  "e6b"  "e7a"  "e7b"  "e8a"  "e8b"  "e9a"  "e9b"  "e10a" "e10b"

reprex封装创建于2018-08-07 (v0.2.0)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51736196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档