2
私は、認定された国で構成される変数を、私が指定している地域に再コードしようとしています。私はdplyr
を使用して国の変数を地域にコード化するために複数のif_else
ステートメントを実行しようとしましたが、途方に暮れています。150カントリーレコーディング以上の優れた方法はありますか?
私はi
と一致df$country
の値を変更し、それを変更したいのですが、以下の例では、ベクター中でいくつかの国をループへ forループを使用して、新しい何かに値を変更したいです"Europe"
。これは私が開発したコードであり、動作したくないようです。これを行うより良い方法はありますか?
df <- data.frame(country =c("Netherlands", "US", "Canada", "Frace", "Italy"),
ID=1:100)
i <- c("Netherlands", "France", "Italy")
n <- length(i)
for (i in n){
df$country[(df$country == i)] <- "Europe"
}
フォーマットの変更方法によっていくつかのエラーが発生します。何も動かないようです。
を使用してのうわー、これは動作しているようです "国の
levels
を割り当てることができますかなり完璧。私が正しく理解していれば、コードは: 1. df $ countryのレベルを呼び出す。 2. iと一致する因子レベルを索引付けする。 3.一致を「ヨーロッパ」に変更します。 %%%パイプについて説明できますか?私はそれをオンラインで数回見ましたが、良い概観を見つけることができません。 – elliot@elliot一致する要素が複数ある場合、 '%in% 'を使用して論理ベクトルを返すことができます。 'level(df $ country)%in%i'は論理ベクトル、すなわちTRUE/FALSEを返し、その論理ベクトルに基づいて' levels(df $ country) 'をサブセット化し、これを 'Europe'に割り当てます。 – akrun
私はこの問題を数ヶ月間克服しようとしてきました。お大事に。 – elliot