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

Q&A

0回答

285閲覧

Rでcsvを読み込んでプログラムを実行したいのですがエラーが出て解決できません。

seiya3041

総合スコア0

R

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

0グッド

0クリップ

投稿2025/10/21 05:06

0

0

実現したいこと

プログラムを実行して図を表示させたいです。

発生している問題・分からないこと

csvを読み込む時にエラーが出ているみたいです。

エラーメッセージ

error

1Warning messages: 21: In read.table(file = file, header = header, sep = sep, quote = quote, : 3 line 1 appears to contain embedded nulls 42: In read.table(file = file, header = header, sep = sep, quote = quote, : 5 line 2 appears to contain embedded nulls 63: In read.table(file = file, header = header, sep = sep, quote = quote, : 7 line 3 appears to contain embedded nulls 84: In read.table(file = file, header = header, sep = sep, quote = quote, : 9 line 4 appears to contain embedded nulls 105: In read.table(file = file, header = header, sep = sep, quote = quote, : 11 line 5 appears to contain embedded nulls 126: In scan(file = file, what = what, sep = sep, quote = quote, dec = dec, : 13 EOF within quoted string 147: In scan(file = file, what = what, sep = sep, quote = quote, dec = dec, : 15 embedded nul(s) found in input

該当のソースコード

# # Step 1 # データの読み込みと整形 # dat <- read.csv("EatOut.csv") rownames(dat) <- dat[, 1] dat <- dat[, -1] # データの確認 head(dat) # # Step 2 # 標準化する # ScaleDat <- scale(dat) head(ScaleDat) # # Step 3 # クラスタ分析を実施する # # 引数methodは"median", "centroid", "ward.D2"のいずれか cl_1 <- hclust(dist(ScaleDat), method="centroid") # # Step 4 # 結果を表示する(デンドログラム) # par(family="HiraKakuProN-W3") # 和文フォント指定(Windowsでは不要) plot(cl_1) rect.hclust(cl_1, k=5, border="red") # # Step 5 # 結果の吟味 # # 所属クラスタを確認 cutree(cl_1, k=5) # i番目(ここでは2番目)のクラスタの特徴 i <- 2 dat[cutree(cl_1, k=5)==i, ] # クラスタ内の各変数の平均値 colMeans(dat[cutree(cl_1, k=5)==i, ])

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

解決方法を検索しても出てきませんでした。

補足

macを使っています

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

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

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

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

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

melian

2025/10/21 05:24

EatOut.csv ファイルの内容が不明なのではっきりとしたことは判りませんが、CSVファイルにヌル文字(NULL/0x00)が含まれているのかもしれません。skipNul オプションをTRUEに設定して読み込んでみてください。 dat <- read.csv("EatOut.csv", skipNul=True)
meg_

2025/10/21 07:23

> プログラムを実行して図を表示させたいです。 その”プログラム"は質問者さんが作ったものですか?CSVも作ったものですか? そうではなく書籍のサンプルプログラムや学校の課題でしょうか?そうであればコードを見直すと良いかもしれません。ご自身で作成された場合はCSV作成時に何かミスがあったりしませんか?
seiya3041

2025/10/22 02:17

コメントありがとうございます。.skipNul=Trueを試しましたがまだ解決できませんでした。 Error in file(file, "rt") : cannot open the connection In addition: Warning message: In file(file, "rt") : cannot open file 'EatOut.csv': No such file or directory 試すとこのようなエラーが出ました。 プログラムは学校の課題なので自分で作ったものではないです。
melian

2025/10/22 02:32

> 'EatOut.csv': No such file or directory と表示されていますので、R を実行したディレクトリ(カレントディレクトリ)に EatOut.csv がないのだと思います。相対パスではなく絶対パスで指定するとどうなりますでしょうか?
seiya3041

2025/10/22 03:16

コメントありがとうございます。 修正したら図が表示されました。 丁寧に説明してくださりありがとうございました。
meg_

2025/10/22 13:48

> プログラムは学校の課題なので自分で作ったものではないです。 解決されたようで良かったですが、上記であればエラーが発生するのはおかしいので講師に問い合わせた方が良いかと思います。
little_street

2025/10/23 09:21 編集

既に解決済みなので,御参考です。 警告出力をみると各行に null(0x00) があることから,「UTF-16LE」でエンコードしたファイルの可能性もありそうです。つまり,ASCII 文字を「UTF-16LE」でエンコードすると上位バイトは null (下位バイトは ASCII コード,ただし LE なので先行するのは下位バイト)になるので,それを指摘しているのかもしれません。 仮説が正しければ,下記でもうまく読み込めるかもしれません。 dat <- read.csv("EatOut.csv", fileEncoding="UTF-16LE") なお,「skipNul=TRUE」で読み込めたことからファイル内の文字は ASCII 文字のみと考えられます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.29%

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

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

質問する

関連した質問