【发布时间】:2016-02-23 16:41:16
【问题描述】:
我是 R 新手。 例如我想知道如何模拟字符串数据
> ABCDAABCDRFSSAAABE
> ABCDDEDEEEF
> AABBCCDDDDEABCEDFABD
> ...
【问题讨论】:
标签: r simulation
我是 R 新手。 例如我想知道如何模拟字符串数据
> ABCDAABCDRFSSAAABE
> ABCDDEDEEEF
> AABBCCDDDDEABCEDFABD
> ...
【问题讨论】:
标签: r simulation
我会使用base R 函数来随机化所选字母和样本数量。您可以选择输出多少个向量。向量LETTERS 是大写字母字符的内置向量。 :
replicate(3, sample(LETTERS, size=sample(length(LETTERS))))
【讨论】:
letters 和LETTERS 在R 中的作用。
我们可以使用来自library(stringi)的stri_rand_strings
library(stringi)
stri_rand_strings(1, 8, '[A-Z]')
#[1] "PZFBVYVJ"
如果我们需要多个不同数量的字符串,只需更改n和length
stri_rand_strings(2, sample(8:16, 2, replace=FALSE),'[A-Z]')
#[1] "XABWTQRDKCPSHKY" "SWPIARRENKCHHO"
根据文档的用法是
stri_rand_strings(n, 长度, 模式 = "[A-Za-z0-9]")
使用stringi 函数的一个优势是速度。这会非常快。关于另一个解决方案的另一件事是这不是循环的。 replicate 正在使用 sapply,这是一个循环。
【讨论】: