R - 生成字母和数字的序列

J. *_*Doe 0 r

我正在尝试在 R 中创建以下向量:

A1 B1 C1 D1 E1 A2 B2 C2 D2 E2 A3 B3 C3 D3 E3
Run Code Online (Sandbox Code Playgroud)

我正在使用以下代码:

paste0(rep(c("A", "B", "C", "D", "E"), 3), rep(1:3, 3))
Run Code Online (Sandbox Code Playgroud)

但我得到的是以下序列:

"A1" "B2" "C3" "D1" "E2" "A3" "B1" "C2" "D3" "E1" "A2" "B3" "C1" "D2" "E3"
Run Code Online (Sandbox Code Playgroud)

所以问题是,它1:3也开始循环,而我想首先完成A-E后缀 1 的循环,然后启动A-E后缀 2 的下一个循环。

如何生成我需要的向量?

All*_*ron 6

你可以做

paste0(rep(LETTERS[1:5], 3), rep(1:3, each = 5))
#> [1] "A1" "B1" "C1" "D1" "E1" "A2" "B2" "C2" "D2" "E2" "A3" "B3" "C3" "D3" "E3"
Run Code Online (Sandbox Code Playgroud)

  • 如果没有显式的 `rep`,可以使用 `outer`:`c(outer(c("A", "B", "C", "D", "E"),1:3,paste0))`。 (2认同)