2017-11-27 4 views
0

私は国名を表す1つの列を持つデータフレームを持っています。私の目標は、大陸情報を与える列をもう1つ追加することです。次のユースケースを確認してください:国名から大陸名を取得R

my.df <- data.frame(country = c("Afghanistan","Algeria")) 

は、私は、元のデータを持たずに大陸名を含むデータの列を追加するために使用できるパッケージはありますか?

+2

あなたの質問は何ですか?あなたは大陸と国のデータを持っていますか? – PoGibas

+1

漠然とした質問 –

+1

の@Andre Elrico。フィードバック紳士のためのdownvote.Actually、大陸名は提供されません。目標はそれを構築することです。 – jayant

答えて

2

私はあなたが大陸の名前を持っていない質問を理解するように!もしそうなら、これにはcountrycodeパッケージを使うことができます。

library(countrycode) 
df <- data.frame(country = c("Afghanistan", "Algeria", "USA", "France", "New Zealand")) 
df$continent <- as.factor(countrycode(sourcevar = df[, "country"], origin = "country.name", destination = "continent")) 

結果

> df 
     country continent 
1 Afghanistan  Asia 
2  Algeria Africa 
3   USA Americas 
4  France Europe 
5 New Zealand Oceania 
+0

助けてくれてありがとう@ markus.Hilghlyそれを感謝します。 – jayant

2

あなたは調整が必要な場合があります

my.df <- data.frame(country = c("Afghanistan","Algeria"), 
        continent= as.factor(c("Asia","Africa"))) 
merge(my.df, raster::ccodes()[,c("NAME", "CONTINENT")], by.x="country", by.y="NAME", all.x=T) 
#  country continent CONTINENT 
# 1 Afghanistan  Asia  Asia 
# 2  Algeria Africa Africa 

一部country値を試すことができます。あなたはすべての価値を提供していないので、私は心配していません。

+0

それは働いています。 – jayant

関連する問題