?agrep
( with fuzzy matching)では、パターンを正規表現として解釈できるようgrep
に引数を設定できると述べています。fixed=FALSE
しかし、私はそれを機能させることができません!
agrep('(asdf|fdsa)', 'asdf', fixed=F)
# integer(0)
この場合、正規表現「(asdf|fdsa)」はテスト文字列「asdf」と正確に一致するため、上記は一致するはずです。
確認するために:
grep('(asdf|fdsa)', 'asdf', fixed=F)
# 1 : it does match with grep
さらに紛らわしいことにadist
、パターンと文字列の間の距離を 0 として正しく指定します。これは、(0 がデフォルトよりも大きい可能性はありません)ではなく、確実に 1 を返すagrep
必要があることを意味します。integer(0)
max.dist = 0.1
adist('(asdf|fdsa)', 'asdf', fixed=F)
# [,1]
# [1,] 0
なぜこれが機能しないのですか?わからないことがありますか?回避策はありますか?
を使用してよかったのですが、のデフォルトパラメータをの対応するパラメータadist
に変換する方法が完全にはわかりません。agrep
max.distance=0.1
adist
(はい、R 2.15.2 よりもうまく機能しない古いコンピューターで立ち往生しています)
> sessionInfo()
R version 2.15.2 (2012-10-26)
Platform: i686-redhat-linux-gnu (32-bit)
locale:
[1] LC_CTYPE=en_AU.utf8 LC_NUMERIC=C
[3] LC_TIME=en_AU.utf8 LC_COLLATE=en_AU.utf8
[5] LC_MONETARY=en_AU.utf8 LC_MESSAGES=en_AU.utf8
[7] LC_PAPER=C LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_AU.utf8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base