首页 > 解决方案 > 如何在 R 中重复一个序列,但在重复时调整向量中的值?

问题描述

这是一个例子:

这行代码重复指定的每个主题两次:

subject <- rep(c("maths", "english", "science"), each = 2)

所以“主题”在控制台中的输出是:

# [1] "maths"   "maths"   "english" "english" "science" "science"

如何调整我的代码以对重复的向量进行微小的更改?我希望变量“主题”在运行时产生以下内容:

"maths.A" "maths.B" "english.A" "english.B" "science.A" "science.B"

这在生成大量数据时非常有用。手动输入名称将非常低效。

我不确定是否有办法做到这一点,但欢迎任何想法:)

标签: rsequencetidyverserepeat

解决方案


你可以做

paste(rep(c("maths", "english", "science"), each = 2), c("A", "B"), sep = ".")
#> [1] "maths.A"   "maths.B"   "english.A" "english.B" "science.A" "science.B"

推荐阅读