私は R で Limesurvey アンケートからのいくつかのデータを分析しています。調査の質問の 1 つは、人々に出身国を尋ね、国のリストを含むドロップダウンを使用します。Limesurvey 回答コードとして 3 文字の ISO 国コード、ラベルとして国名を使用して、このためのラベルセットを作成しました。
Limesurvey データを R にエクスポートすると、コードとラベルの両方が R 構文ファイルに保存されます。コードは因子の「レベル」として保存され、ラベルはもちろんラベルとして使用されます (わかりやすくするために省略されています)。
data[, 7] <- as.character(data[, 7])
attributes(data)$variable.labels[7] <- "Which country are you from?"
data[, 7] <- factor(data[, 7], levels=c("AFG","ALA","ALB", ..., "ZMB","ZWE"),labels=c("Afghanistan","Åland Islands","Albania", ..., "Zambia","Zimbabwe"))
names(data)[7] <- "Q3_Nationality"
しかし、R でこの 3 文字の ISO コードにアクセスする方法がわかりません。ISO コードを取得できれば素晴らしいので、それを rworldmapjoinCountryData2Map()
関数にフィードして、データをマップにプロットできます。(国名をその関数に渡すこともできますが、エラーが発生しやすくなります。)
変数を調べると、次のようになります。
> data$Q3_Nationality
[1] Guyana
249 Levels: Afghanistan Åland Islands Albania Algeria ... Zimbabwe
同様に、levels()
私に与えます:
levels(data$Q3_Nationality)
[1] "Afghanistan"
[2] "Åland Islands"
[3] "Albania"
[4] "Algeria"
[5] "American Samoa"
「AFG」、「ALA」、「ALB」ISO 応答コードの兆候はありません。
それを文字に変換しようとすると、完全なラベルが再び表示されます。
as.character(levels(data$Q3_Nationality))
[1] "Afghanistan"
[2] "Åland Islands"
[3] "Albania"
[4] "Algeria"
[5] "American Samoa"
アクセス方法を教えていただけると助かります!