使用 R 创建字母的顺序列表

发布于 2024-08-04 23:22:53 字数 320 浏览 4 评论 0原文

我希望能够在 R 中创建字母序列(以协助从 SPSS 文件导入数据)

创建数字序列非常容易,例如:

seq(1,1000)
[1] 1 2 3 4 5 6 ... 1000

paste("something_",1:12,sep="")
[1] something1 something2 ... something12

但是是否有附加、粘贴或创建的功能像这样的字母序列?

paste("This_",a:z,sep="")
[1]This_a This_b This_c ... This_4z

I would like to be able to create a sequence of letters in R (to assist in importing data from a SPSS file)

It's quite easy to create a sequence of numbers, for example:

seq(1,1000)
[1] 1 2 3 4 5 6 ... 1000

paste("something_",1:12,sep="")
[1] something1 something2 ... something12

But is there any functionality for appending, pasting, or creating sequences of letters like this?

paste("This_",a:z,sep="")
[1]This_a This_b This_c ... This_4z

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

云胡 2024-08-11 23:22:53

这就是您正在寻找的:

> paste("This_", letters, sep="")

> [1] "This_a" "This_b" "This_c" "This_d" "This_e" "This_f" "This_g" "This_h"
  [9] "This_i" "This_j" "This_k" "This_l" "This_m" "This_n" "This_o" "This_p"
  [17] "This_q" "This_r" "This_s" "This_t" "This_u" "This_v" "This_w" "This_x"
  [25] "This_y" "This_z"

This is what you're looking for:

> paste("This_", letters, sep="")

> [1] "This_a" "This_b" "This_c" "This_d" "This_e" "This_f" "This_g" "This_h"
  [9] "This_i" "This_j" "This_k" "This_l" "This_m" "This_n" "This_o" "This_p"
  [17] "This_q" "This_r" "This_s" "This_t" "This_u" "This_v" "This_w" "This_x"
  [25] "This_y" "This_z"
踏雪无痕 2024-08-11 23:22:53

你看了一下

?LETTERS

,这不是你想要的吗?另外还有 paste() 和相关函数。

编辑:也许要粘贴的collapse=正是您所需要的:

R> replicate(5, paste(sample(LETTERS, 10, replace=TRUE), collapse=""))
[1] "OHZBIYEFMD" "UINBOFEIXN" "UORJZATYNT" "ZNPWNBFFXJ" "ZOKYMTCDKZ"
R> 

Did you look at

?LETTERS

and doesn't that do what you want? Else there are paste() and related functions.

Edit: Maybe the collapse= to paste is what you need:

R> replicate(5, paste(sample(LETTERS, 10, replace=TRUE), collapse=""))
[1] "OHZBIYEFMD" "UINBOFEIXN" "UORJZATYNT" "ZNPWNBFFXJ" "ZOKYMTCDKZ"
R> 
压抑⊿情绪 2024-08-11 23:22:53

对于“a”到“z”,

letters

对于“A”到“Z”,

LETTERS

它要打印序列中的特定字母,比如说,如果您只想要 j、k 和 j、k 等。我

letters[10:12]

for "a" to "z" it's

letters

for "A" to "Z" its

LETTERS

And to print specific letters in the sequence, say if you want only j, k & l

letters[10:12]
蓝咒 2024-08-11 23:22:53

我猜你想得到 A-1、A-2、A-3、B-1、B-2、B-3、C-1、C-2、C-3 等等...

我尝试过

replicate(3, paste0(LETTERS[1:10], sep="-", 1:3, collapse=", ")

但是这样我就得到了

A-1, B-2, C-3, D-1, E-2, F-3, G-1, H-2, I-3, J-1" "A-1, B -2、C-3、D-1、E-2、F-3、G-1、H-2、I-3、J-1、A-1、B-2、C-3、D-1 ,E-2,F-3,G-1,H-2,I-3,J-1”

我也尝试过

paste0(replicate(3, LETTERS[1:10]), sep = "-", 1:3)

但得到了相同的结果..

我怎样才能获得所需的序列

Guess you want to get A-1, A-2, A-3, B-1, B-2, B-3, C-1, C-2, C-3 and so on...

I tried this

replicate(3, paste0(LETTERS[1:10], sep="-", 1:3, collapse=", ")

But this way I get

A-1, B-2, C-3, D-1, E-2, F-3, G-1, H-2, I-3, J-1" "A-1, B-2, C-3, D-1, E-2, F-3, G-1, H-2, I-3, J-1, A-1, B-2, C-3, D-1, E-2, F-3, G-1, H-2, I-3, J-1"

I also tried

paste0(replicate(3, LETTERS[1:10]), sep = "-", 1:3)

but got the same results..

How can I get the desired sequence

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文