質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

Q&A

解決済

1回答

1702閲覧

メルト警告メッセージの対処法

kyrie

総合スコア11

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

0グッド

0クリップ

投稿2020/05/19 09:34

編集2020/05/19 11:07

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/

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

https://stackoverflow.com/questions/28972386/retain-attributes-when-using-gather-from-tidyr-attributes-are-not-identical
この最初の回答が状況におそらく当てはまっているでしょう。

ところで、

下記のようなエラーが起きてしまいます。

この説明は間違っています。出ているのは警告メッセージです。エラーメッセージではありません。こういうところをいい加減に認識していると、問題解決に際して無駄な回り道をさせられることになりかねません。特に、Rのように融通の効かないシステムを相手にする場合には。気をつけましょう。

投稿2020/05/19 10:32

KojiDoi

総合スコア13692

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kyrie

2020/05/19 11:14

解決しました!ありがとうございます。 割としんどい手順を踏みましたが、このことについて本に記述がないのはなんなのでしょう。。。 また、指摘していただいた誤解について修正しました。今後気をつけます。 いつも短い時間で適切な回答をしていただけるので、本当に助かっています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問