teratail header banner
teratail header banner
質問するログイン新規登録

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

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

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

ggplot2は、統計解析向けのプログラミング言語及びその開発実行環境であるR言語のグラフィック作成用のライブラリです。

R

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

Q&A

1回答

3731閲覧

R:コレスポンデンス分析:行と列の座標でデータフレームを作成する方法

SMV

総合スコア12

ggplot2

ggplot2は、統計解析向けのプログラミング言語及びその開発実行環境であるR言語のグラフィック作成用のライブラリです。

R

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

0グッド

0クリップ

投稿2019/07/24 15:57

編集2019/07/25 14:26

0

0

前提・実現したいこと

Rstudioでコレスポンデンス分析をしています。
ggplot2で結果をプロットするために下記サイトを参考に行と列の座標でデータフレームを作成しようとしたところ下記のエラーメッセージが発生しました。
(https://sugioka.wiki.fc2.com/wiki/R%E3%81%A7%E3%82%B3%E3%83%AC%E3%82%B9%E3%83%9D%E3%83%B3%E3%83%87%E3%83%B3%E3%82%B9%E5%88%86%E6%9E%90%E3%82%92%E3%81%99%E3%82%8B5%E3%81%A4%E3%81%AE%E9%96%A2%E6%95%B0)

発生している問題・エラーメッセージ

Error in data.frame(name2, aux2, rbind(ca1$rowcoord[, 1:2], ca1$colcoord[, : 引数に異なる列数のデータフレームが含まれています: 10, 22

該当のソースコード

R

1install.packages("FactoMineR") 2library(FactoMineR) 3 4STORY = read.csv("cross2.csv",header = F,skip = 1,as.is = T,stringsAsFactors = F) 5rownames(STORY)=c("物語1","物語2","物語3","物語4","物語5","物語6","物語7","物語8","物語9","物語10") 6 7install.packages("ggplot2") 8library(ggplot2) 9 10install.packages("ca") 11library(ca) 12ca1=ca(STORY) 13 14aux2 = c(rep("STORY",10), rep("STORY",12)) 15name2 = c(STORY, colnames(STORY)) 16auth_lets2 = data.frame(name2, aux2, rbind(ca1$rowcoord[,1:2], ca1$colcoord[,1:2])) 17Error in data.frame(name2, aux2, rbind(ca1$rowcoord[, 1:2], ca1$colcoord[, : 18 引数に異なる列数のデータフレームが含まれています: 10, 22 19 20【以下はcross2.csvのファイル内容です】 21V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12 221,2,5,0,0,0,0,0,0,0,0,0 232,6,7,4,0,0,0,0,0,0,0,0 245,14,16,12,0,0,0,0,0,0,0,0 251,7,5,9,0,0,0,0,0,0,0,0 263,18,2,3,0,0,0,3,0,0,0,0 271,8,2,0,2,0,0,2,0,0,0,0 284,15,4,0,2,6,4,0,3,0,0,0 298,10,8,0,5,8,9,0,10,29,0,0 307,7,7,0,1,0,20,0,3,0,19,0 317,12,1,0,12,0,28,0,6,5,4,6

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

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

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

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

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

KojiDoi

2019/07/25 06:48

エラーが再現できるソースを示してください。掲出のソースでは検証できません。
SMV

2019/07/25 14:26

ご指摘ありがとうございます。ソースを追加したのでご覧いただけましたら幸いです。
KojiDoi

2019/07/25 16:16

auth_lets2 ですが、どんなデータフレームを作るつもりですか? ちょっとこのdata.frame()は訳が分かりません。
SMV

2019/07/25 16:25

caの結果をggplot2を用いてプロットしたいため、グラフィックが作成できるデータフレームを作りたいです。(プロットするためのソース作成に下記URLのサイトの下部を参考にしたところエラーが出てしまっている状態です) https://sugioka.wiki.fc2.com/wiki/R%E3%81%A7%E3%82%B3%E3%83%AC%E3%82%B9%E3%83%9D%E3%83%B3%E3%83%87%E3%83%B3%E3%82%B9%E5%88%86%E6%9E%90%E3%82%92%E3%81%99%E3%82%8B5%E3%81%A4%E3%81%AE%E9%96%A2%E6%95%B0
KojiDoi

2019/07/25 16:36

貴方のコードを拝見すると、そのお手本とは、aux2、name2の作り方が全然違っているのですが、そこは認識していますか?
guest

回答1

0

エラーの直接的な原因は、作ろうとしているデータフレームの桁ごとの要素の数が揃っていない(10と22)点にあります。
data.frame(a=..., b=..., c=...)としたとき、a,b,cは完全に同じ長さのベクトルでなければなりません。ここでは引数にrbindが使われていますが、この場合はrbindの結果生成されるmatrixの行数が他の列データの要素数と揃っていなければなりません。

投稿2019/07/25 16:50

KojiDoi

総合スコア13727

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問