簡體   English   中英

R:生成組之間的字符串組合

[英]R: generate combinations of strings between groups

在bash中,可以輕松地在組之間生成字符串組合,例如:

> echo {'A','B'}_{'1','2'}_S_R
A_1_S_R A_2_S_R B_1_S_R B_2_S_R

有誰知道如何在R中生成這樣的字符串組合?

我已經嘗試了以下內容,但似乎只重復了第一個元素,而不是秒。

paste(rep(c("A", "B"), 2), c("1", "2"), "S", "R", sep = "_")
[1] "A_1_S_R" "B_2_S_R" "A_1_S_R" "B_2_S_R"
paste(rep(c("A", "B"), 2), rep(c("1", "2"), 2), "S", "R", sep = "_")
[1] "A_1_S_R" "B_2_S_R" "A_1_S_R" "B_2_S_R"

謝謝!

當您嘗試組合組合時, outer通常是正確的功能。

paste(outer(LETTERS[1:2], 1:2, paste, sep="_"), "_S_R", sep="")

[1] "A_1_S_R" "B_1_S_R" "A_2_S_R" "B_2_S_R"

好的,我找到了一種方法,但是它似乎不太明顯/效率很高。

如果您找到更好的方法,請添加您的答案。

> df<-expand.grid(c("A", "B"), c("1", "2"), "S", "R")
> paste(df[,1],df[,2], df[,3],df[,4],sep="_")
[1] "A_1_S_R" "B_1_S_R" "A_2_S_R" "B_2_S_R"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM