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

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

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

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

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

統計

統計は、集団現象を数量で把握することです。また、調査で得られた性質や傾向を数量的に表したデータのことをいいます。

Q&A

解決済

2回答

3164閲覧

Rでヒストグラム作成をするとエラーが出てしまいます。原因がわかりません。

yui_clothes

総合スコア1

R

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

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

統計

統計は、集団現象を数量で把握することです。また、調査で得られた性質や傾向を数量的に表したデータのことをいいます。

0グッド

0クリップ

投稿2020/08/24 09:27

前提・実現したいこと

これは「はじめてのR」著村井潤一郎のp54の内容です。仮想データで36人の学生を対象に番号,性別,出身県,内外,テレビ,社交性,テスト前,テスト後のデータを統計してヒストグラフに起こそうとしているプログラムです。コードを見ていただくとわかると思いますが合計4つの男女それぞれの事前(テスト前)と事後(テスト後)のヒストグラフ生成しようとしているにですがエラーがでてbreaks' の数が無効です とでてしまいますなぜこのようなエラーがでるのでしょうか?R初心者です、アドバイスよろしくお願いします。

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

例題 <- read.csv("sample.csv")
par(mfrow = c(2,2))
hist(例題$事前[例題$性別=="f"],xlim=c(40,90),ylim=c(0,10))

hist.default(例題$事前[例題$性別 == "f"], xlim = c(40, 90), ylim = c(0, でエラー:
'breaks' の数が無効です

hist(例題$事後[例題$性別=="f"],xlim=c(40,90),ylim=c(0,10))

hist.default(例題$事後[例題$性別 == "f"], xlim = c(40, 90), ylim = c(0, でエラー:
'breaks' の数が無効です

hist(例題$事前[例題$性別=="m"],xlim=c(40,90),ylim=c(0,10))

hist.default(例題$事前[例題$性別 == "m"], xlim = c(40, 90), ylim = c(0, でエラー:
'breaks' の数が無効です

hist(例題$事後[例題$性別=="m"],xlim=c(40,90),ylim=c(0,10))

hist.default(例題$事後[例題$性別 == "m"], xlim = c(40, 90), ylim = c(0, でエラー:
'breaks' の数が無効です

↓これが打ち込んだ内容です。 例題 <- read.csv("sample.csv") par(mfrow = c(2,2)) hist(例題$事前[例題$性別=="f"],xlim=c(40,90),ylim=c(0,10)) hist(例題$事後[例題$性別=="f"],xlim=c(40,90),ylim=c(0,10)) hist(例題$事前[例題$性別=="m"],xlim=c(40,90),ylim=c(0,10)) hist(例題$事後[例題$性別=="m"],xlim=c(40,90),ylim=c(0,10)) ### 試したこと str(例題$性別) で試したところ chr[1:36] "f" "f".... となりました。 ### 補足情報(FW/ツールのバージョンなど) これが、データの内容です。 番号 性別 出身県 内外 テレビ 社交性 事前 事後 1 f a i 7 5 49 71 2 f b i 1 7 47 68 3 f c o 1 8 57 81 4 f b o 3 8 52 71 5 f c o 2 9 53 61 6 m a i 6 5 63 66 7 f a o 4 6 56 70 8 m c o 5 3 65 64 9 m b o 3 5 75 74 10 m a i 4 3 61 78 11 f a i 8 3 55 66 12 f a i 6 5 61 71 13 m b i 3 3 70 68 14 m b i 5 2 69 65 15 m a i 3 5 65 71 16 f b i 4 3 60 59 17 m b i 5 3 70 62 18 m c o 2 6 63 61 19 m c o 1 7 68 66 20 f c o 4 3 54 53 21 f a o 2 8 60 78 22 m a i 7 3 69 68 23 m c o 2 8 64 65 24 f a o 7 4 52 67 25 m a o 3 6 58 69 26 m c o 1 7 65 71 27 m b o 1 8 64 79 28 f c o 4 4 59 64 29 f c i 3 6 45 51 30 f b i 5 6 50 49 31 m b o 1 9 72 71 32 f b i 7 3 55 60 33 m c i 7 4 79 77 34 f c o 4 7 60 58 35 f b i 8 3 53 67 36 m a o 5 7 57 72

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

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

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

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

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

guest

回答2

0

ベストアンサー

元データの性別が f, m と2バイトのアルファベットになっていますね。

でプログラムの方で半角の f と指定しているので、条件にあうデータが一件もなくエラーとなっているようです。"f"と2バイト文字で指定すればOKです。

R

1hist(例題$事前[例題$性別=="f"],xlim=c(40,90),ylim=c(0,10))

ただ、特に理由がないのならばアルファベットは半角で揃えておいた方が誤りがないですね。
書籍のサンプルとしてダウンロードしたデータがこうなっていたのでしょうか。
ご自身で、書籍に書いてあるデータを転記してファイルを作成したならば、一括変換等で半角に揃えておいた方が今後のためにもよろしいと思います。

投稿2020/08/24 09:42

aokikenichi

総合スコア2218

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

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

yui_clothes

2020/08/24 11:58

aokikenichiさんのおっしゃる通りf,mを全角入力していたことが原因でした。ご回答ありがとうございました!
guest

0

過去に全く同じ質問がありました

オブジェクト名の前に空白があることが原因のようなので、
空白を探して削除してみてください
https://teratail.com/questions/110470

投稿2020/08/24 09:34

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

yui_clothes

2020/08/24 11:59

CSVを自分で作成する際にデータを全角で打ち込んでいたのが原因でした、ご回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問