gpt4 book ai didi

r - 创建无意义的词 - 在 R 中使用具有三个以上维度的外()

转载 作者:行者123 更新时间:2023-12-04 23:03:48 25 4
gpt4 key购买 nike

给定第一个辅音、元音、最后的辅音列表,我正在创建无意义的单词:

initial_consonants <- c("r", "w", "h", "sp", "st", "sk")
vowels <- c("i", "u", "I", "U", "E", "V", "@")
final_consonants <- c("f", "ts", "rS", "rv", "rl", "Dz", "lts", "bz")

鉴于这组首辅音、元音和尾辅音,我想得到所有可能的 (6*7*8 = 336) 无意义词。我为此创建了这个函数:
create_CVC_words <- function(initial_consonant, vowel, final_consonant){
paste(initial_consonant, vowel, final_consonant, sep = "") -> CVC_word
}

但我不知道如何应用它以便考虑所有三个维度。 external() 给了我第一个辅音和元音的组合,最后辅音不同:
outer(initial_consonants, vowels, final_consonants, FUN = create_CVC_words) -> table
table
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] "rif" "rults" "rIrl" "rUrS" "rEf" "rVlts" "r@rl"
[2,] "wits" "wubz" "wIDz" "wUrv" "wEts" "wVbz" "w@Dz"
[3,] "hirS" "huf" "hIlts" "hUrl" "hErS" "hVf" "h@lts"
[4,] "spirv" "sputs" "spIbz" "spUDz" "spErv" "spVts" "sp@bz"
[5,] "stirl" "sturS" "stIf" "stUlts" "stErl" "stVrS" "st@f"
[6,] "skiDz" "skurv" "skIts" "skUbz" "skEDz" "skVrv" "sk@ts"

但我需要的是拥有所有可能的组合,即:
rif rits rirS rirv rirl riDz rilits ribz
ruf ruts rurS ...
.
.
.
wif wits ...

我如何使用/调整我的功能来做到这一点?我还需要对较大的无意义词(即双音节 CVCVC)执行此操作,因此我需要考虑的维度数量不限于三个。

编辑:刚刚在这里看到了关于如何让 outer() 取 n 维的普遍问题: How to generalize outer to n dimensions?
但无法实现针对我的问题给出的解决方案。

最佳答案

您可以使用 expand grid 创建所有不同的组合。 :

apply(expand.grid(initial_consonants, vowels, final_consonants), 1, function(x)create_CVC_words(x[1], x[2], x[3]))

这是你想要的吗?

关于r - 创建无意义的词 - 在 R 中使用具有三个以上维度的外(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16960820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com