gpt4 book ai didi

r - 矩阵中两个字符串的最大 nchar

转载 作者:行者123 更新时间:2023-12-04 10:31:27 25 4
gpt4 key购买 nike

我想找到更好的方法来找到我正在相互比较的两个字符串的更大 nchar。

假设我在 sentenceMatch data.frame 中有字符串,我需要创建一个 max(nchar(string1), nchar(string2)) 矩阵,但没有 for 循环,这是非常慢的方法。

sentenceMatch <- data.frame(Sentence=c("hello how are you",
"hello how are you friend",
"im fine and how about you",
"good thanks",
"great to hear that"))

sentenceMatch$Sentence <- as.character(sentenceMatch$Sentence)

overallMatrix_nchar <- matrix(, nrow = dim(sentenceMatch)[1], ncol = dim(sentenceMatch)[1])

for (k in 1:dim(sentenceMatch)[1]) {
for (l in 1:dim(sentenceMatch)[1]) {
overallMatrix_nchar[k, l] <- max(nchar(sentenceMatch[k, ]), nchar(sentenceMatch[l, ]))
}
}

有没有更好的解决方案如何加快这个计算?非常感谢您对前进的任何帮助。

最佳答案

使用 outer :

nc <- nchar(sentenceMatch[[1]])
outer(nc, nc, pmax)

给予:
     [,1] [,2] [,3] [,4] [,5]
[1,] 17 24 25 17 18
[2,] 24 24 25 24 24
[3,] 25 25 25 25 25
[4,] 17 24 25 11 18
[5,] 18 24 25 18 18

关于r - 矩阵中两个字符串的最大 nchar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35701428/

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