MacでRを使っています。
『Rによる多変量解析入門15章』にて、本に記載されている通りにコードを打っているはずなのですが、途中で下記のような警告メッセージが起きてしまいます。
#適用したコード cluster3<-as.factor(cutree(tmp.out,k=3)) cluster4<-as.factor(cutree(tmp.out,k=4)) tmp_clt_resW<-data.frame(tmp_clt,"クラスター数3"=cluster3,"クラスター数4"=cluster4, "店舗"=row.names(tmp_clt)) library(tidyr) tmp_clt_resL1<-gather(tmp_clt_resW,key=観点,value=評価値,-クラスター数3,-クラスター数4,-店舗) tpm_clt_resL2<-gather(tmp_clt_resL1,key=クラスター数,value=クラスター,-観点,-評価値,-店舗) #↑ここでエラー
#警告メッセージ > tpm_clt_resL2<-gather(tmp_clt_resL1,key=クラスター数,value=クラスター,-観点,-評価値,-店舗) 警告メッセージ: attributes are not identical across measure variables; they will be dropped
警告が起こる前までのデータフレームの構成は以下の通りです
> str(tmp_clt_resW) 'data.frame': 160 obs. of 7 variables: $ 明るさ : num 1.7 3.46 2.15 3.74 4.09 4.22 4.39 1.19 4.05 2.94 ... $ 広さ : num 2.02 3.51 1.27 3.67 4.4 3.32 3.46 1.46 3.6 3.34 ... $ 整然さ : num 1.69 1.96 1.42 3.58 4.02 3.76 4.42 1.14 3.71 3.31 ... $ 清潔さ : num 1.88 3.98 2.08 3.66 3.45 3.81 4.1 0.98 4.07 0.71 ... $ クラスター数3: Factor w/ 3 levels "1","2","3": 1 2 1 2 2 2 2 1 2 3 ... $ クラスター数4: Factor w/ 4 levels "1","2","3","4": 1 2 1 3 3 3 3 1 3 4 ... $ 店舗 : chr "店舗1" "店舗2" "店舗3" "店舗4" ... > str(tmp_clt_resL1) 'data.frame': 640 obs. of 5 variables: $ クラスター数3: Factor w/ 3 levels "1","2","3": 1 2 1 2 2 2 2 1 2 3 ... $ クラスター数4: Factor w/ 4 levels "1","2","3","4": 1 2 1 3 3 3 3 1 3 4 ... $ 店舗 : chr "店舗1" "店舗2" "店舗3" "店舗4" ... $ 観点 : chr "明るさ" "明るさ" "明るさ" "明るさ" ... $ 評価値 : num 1.7 3.46 2.15 3.74 4.09 4.22 4.39 1.19 4.05 2.94 ...
警告メッセージの内容が『変数の属性が違うから落とされる』みたいな内容だったので、試しにtmp_clt_resL1の”店舗”と"観点"をFactor型に変換して、再度
tpm_clt_resL2<-gather(tmp_clt_resL1,key=クラスター数,value=クラスター,-観点,-評価値,-店舗)
を実行しましたが、全く同じエラーが起こりました。
下記のサイトで紹介されている問題と同じ問題が発生しているのだろうということはわかっているのですが、(おそらく和訳文で)参照サイトの日本語が意味不明で、データの変数のメルト(?)に対し、結局どうすれば良いのかわかりません。
https://www.it-swarm.dev/ja/r/reshape2%E3%83%A1%E3%83%AB%E3%83%88%E8%AD%A6%E5%91%8A%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8/1047768941/
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/19 11:14