2016-02-23 54 views
-2

我是新與R. 我想知道如何模擬字符串數據例如字符串模擬有R

> ABCDAABCDRFSSAAABE 

> ABCDDEDEEEF 

> AABBCCDDDDEABCEDFABD 

> ... 

回答

1

我們可以使用stri_rand_stringslibrary(stringi)

library(stringi) 
stri_rand_strings(1, 8, '[A-Z]') 
#[1] "PZFBVYVJ" 

如果我們需要多個不同字母數的字符串,只需更改nlength

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這是一個循環。

3

我會用base R函數隨機化所選字母和樣本數。你可以選擇輸出多少矢量。矢量LETTERS是大寫字母字符的內置矢量。 :

replicate(3, sample(LETTERS, size=sample(length(LETTERS)))) 
+0

一點解釋可能就什麼'letters'和'LETTERS'做R. – SimonG

+1

從我從OP的帖子明白了,他/她需要一個字符串是很好的。無論如何,另一個不公平的投票。 – akrun

+2

我相信OP正在尋找多個向量。這就是爲什麼他們向你提到你的第一個解決方案只產生一個。其次,人們可以隨心所欲地投票。你不是對答案的優點的最終裁判。 –