1

国名の列を持つデータフレームがあります。それらの名前は、同じ国であっても、大文字と小文字の違い、一部の文字の欠落、一部の文字の追加、息子の追加など、異なる方法で表記されます。

したがって、それらを同様のパターン内にグループ化する必要があります。たとえば、同じカテゴリ ("Brasil","brazil") に属する 2 つの観測値があり、それらをまとめる必要があります。データフレーム全体が〜10 000の観測で構成されているため、これを手動で行うことはできません。

1 つのカテゴリで類似した観察を行った後、このカテゴリからいくつかのサブセットを作成する必要があります。

これらの類似した名前をカテゴリにグループ化し、データフレームの他の列を使用してこのカテゴリでサブセットを作成するための可能な解決策はありますか?

agrep 関数を使用しようとしましたが、成功しませんでした。

number <- c(1:6)
country <- c("Brasil","brazil","Costa Rica","costarrica","suiza","Holanda")
example <- data.frame(number,country)

agrupamiento <- for (i in 1:nrow(example)){
  agrep(example$country[i], example$country, 
    max.distance = 0.1,ignore.case = TRUE)
}
4

1 に答える 1

1

を使用してサンプルデータセットを操作するstringdist::phonetic

library(stringdist)
example$ph=phonetic(example$country)
example
  number    country   ph
1      1     Brasil B624
2      2     brazil B624
3      3 Costa Rica C236
4      4 costarrica C236
5      5      suiza S200
6      6    Holanda H453

次に、それを分割します

out <- split(example,f = example$ph )
out
$B624
  number country   ph
1      1  Brasil B624
2      2  brazil B624

$C236
  number    country   ph
3      3 Costa Rica C236
4      4 costarrica C236

$H453
  number country   ph
6      6 Holanda H453

$S200
  number country   ph
5      5   suiza S200
于 2017-10-19T23:04:34.537 に答える