Corrplotを使用してエラーメッセージを解釈する方法を教えてください。
これが私のスクリプトです
install.packages("ggplot2")
install.packages("corrplot")
install.packages("xlsx")
library(ggplot2)
library(corrplot)
library(xlsx)
#set working dir
setwd("C:/R")
#read xlsx data into R
df <- read.xlsx("TP_diff_frame.xlsx",1)
#set column as index
rownames(df) <- df$country
#remove column
df2<-subset(df, select = -c(country) )
#round values to to decimals
corrplot(df2, method="shade",shade.col=NA, tl.col="black", tl.srt=45)
私のdf2:
> df2
a b c d e f g
Sweden 0.09 0.19 0.00 -0.25 -0.04 0.01 0.00
Germany 0.11 0.19 0.01 -0.35 0.01 0.02 0.01
UnitedKingdom 0.14 0.21 0.03 -0.32 -0.05 0.00 0.00
RussianFederation 0.30 0.26 -0.07 -0.41 -0.09 0.00 0.00
Netherlands 0.09 0.16 -0.05 -0.26 0.02 0.02 0.01
Belgium 0.12 0.20 0.01 -0.34 0.01 0.00 0.00
Italy 0.14 0.22 0.01 -0.37 0.00 0.00 0.00
France 0.14 0.24 -0.04 -0.34 0.00 0.00 0.00
Finland 0.16 0.17 0.01 -0.26 -0.08 0.00 0.00
Norway 0.15 0.21 0.10 -0.37 -0.09 0.00 0.00
そしてエラーメッセージ:
> corrplot(df2, method="shade",shade.col=NA, tl.col="black", tl.srt=45)
マトリックスのエラー(unlist(value、recursive = FALSE、use.names = FALSE)、nrow = nr、:length of 'dimnames' [2] not equal to array extends
問題は、相関行列ではなくデータフレームをプロットしていることだと思います。最後の行を次のように変更してみてください。
corrplot(cor(df2), method="shade",shade.col=NA, tl.col="black", tl.srt=45)
関数corは、プロットする必要がある相関行列を計算します
ヒートマッププロットにcorrplot
パッケージを使用するには、data.frame
をmatrix
に変換し、is.corr
引数。
df2 <- as.matrix(df2)
corrplot(df2, is.corr=FALSE)
別のオプションは、2行のコードに分割することです。
df2 <- cor(df, use = "na.or.complete")
corrplot(df2, method="shade",shade.col=NA, tl.col="black", tl.srt=45)
単純なcorrplot(例:corrplot.mixed(df2))を実行して、それが機能することを確認してから、微調整と美学に取り組みます。