1

以下を達成するためのより効率的な方法はありますか?

library(dplyr)
filers <- sapply(1:100, function(z) sample(letters, sample(1:20, 1), replace=T) %>% paste(collapse='')) %>% unlist() %>% unname()
n <- length(unique(filers))
similarityMatrix <- matrix(0, nr=n, nc=n)
for (i in 1:n) {
    for (j in 1:n) {
        similarityMatrix[i, j] <- compare_strings(filers[i], filers[j])
    }
}

注:compare_strings実行しようとしている操作の種類を暗示するための擬似コードです。以下のコメントによると、 stringdist には function が付属しているため、質問の前の形式との混乱がありましたstringdistmatrix。私のシナリオには、そのオプションがない関数が含まれているため、以下のコメントを反映するように質問が変更されました。

4

1 に答える 1

3

これはおそらく効率的ではありませんが、読みやすくなります。また、行列を割り当てます。

similarityMatrix <- outer(filers, filers, FUN=compare_strings)
于 2015-09-13T23:11:46.843 に答える