次の data.frame をビルドすると:
cntrydata<-as.data.frame(cbind(c('BE', 'BG', 'CH', 'CY', 'CZ', 'DE', 'DK', 'EE',
'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU', 'IE',
'IL', 'LT', 'NL', 'NO', 'PL', 'PT', 'RU', 'SE',
'SI', 'SK', 'UA'),c('C', 'P', 'C', 'P', 'P', 'C',
'C', 'C', 'C', 'C', 'C', 'C', 'P', 'P', 'P', 'C',
'P', 'P', 'C', 'C', 'P', 'C', 'P', 'C', 'P', 'P', 'P'),
c(7.1, 3.6, 8.7, 6.3, 4.6, 7.9, 9.3, 6.5,
6.1, 9.1, 6.8, 7.6, 3.5, 4.1, 4.7, 8, 6.1, 5, 8.8,
8.6, 5.3, 6, 2.1, 9.2, 6.4, 4.3, 2.4)))
colnames(cntrydata)<-c('cntry','mode','CPI')
CPI 変数は ですがclass(factor)
、次の関数を機能させるには数値にする必要があります。
boxplot(CPI~mode, data=cntrydata)
私は次のことを試しました:
as.numeric(levels(cntrydata$CPI))[cntrydata$CPI]
How to convert a factor to an integer\numeric without the loss of information? のアドバイスに従って
しかし、それはまだクラス要因です。私の目標を達成する方法はありますか?
また、それほど重要ではありませんがcolnames
、データ構築コマンドに引数を含める方法を探していました (最終的に行ったように、その後ではなく)。しかし、それをどこに、どのように配置するかを見つけることができませんでしたか?