r - 如何使用 seq() 和 rep() 和 paste() 生成特定向量?

标签 r vector seq rep

我试图在不使用的情况下生成以下向量c() :a1, b2, b3, c4, c4, c6 .我在这方面真的很难受。我试图制作一个简单的 python 函数来帮助可视化它:

listy = []
size = 2
lets = ["a", "b", "c"]
iterator = 1
for i in range(1, 4):
    let = lets[i-1]
    for j in range(3-size):
        listy.append(let + str(iterator))
        iterator += 1
    size -= 1
print(listy)
但我无法得到任何类似于在 R 中工作的东西。我将不胜感激。
关于我得到的最接近的是这个:
paste(rep(1:6), rep(letters[1:3]))
但显然那是遥不可及的。我是否必须使用 for 循环来生成它?似乎必须有一个更简单的方法......
我是矢量生成的新手,功能似乎根本不直观。如果你能朝正确的方向戳一下,我相信我能弄明白。谢谢!

最佳答案

一种方法是:

vec <- letters[1:3]
tmp <- rep(vec, seq_along(vec))
paste0(tmp, seq_along(tmp))
#[1] "a1" "b2" "b3" "c4" "c5" "c6"
通过硬编码,这类似于:
paste0(rep(c('a', 'b', 'c'), 1:3), 1:6)

关于r - 如何使用 seq() 和 rep() 和 paste() 生成特定向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66112933/

相关文章:

c++ - 将多维 std::vector 排序为单个 vector

c++ - 使用随机值初始化二维 vector

f# - 完全迷失在试图按顺序改变属性的过程中

match - Any.match 是做什么的?

r - 根据几列生成一系列新行

r - 在 dplyr 过滤条件中混合函数和参数

r - 按唯一标识符聚合并将相关值连接成字符串

r - 如何将一串连续的国际象棋移动转换为垂直数据框?

htmlwidgets 并排在 html 中?

vector - 什么是使用 k 均值的矢量量化?