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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

R

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

Q&A

解決済

1回答

7875閲覧

Rで read.csv が失敗する

i113

総合スコア74

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

R

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

0グッド

0クリップ

投稿2020/01/28 06:23

RStudio Version 1.0.153 で以下のようにファイルを読み込もうとするのですが警告が出ます。

R

1> x <- read.csv("C:\Users\username\Desktop\Data\samples.csv", header=T, fileEncoding="utf-8") 2Warning messages: 31: In read.table(file = file, header = header, sep = sep, quote = quote, : 4 invalid input found on input connection 'C:\Users\username\Desktop\Data\samples.csv' 52: In read.table(file = file, header = header, sep = sep, quote = quote, : 6 incomplete final line found by readTableHeader on 'C:\Users\username\Desktop\Data\samples.csv'

警告だけなので、中身を見てみようとすると、読み込みに失敗しているようです。

R

1> x 2[1] X. 3 <0> (または長さ 0 の row.names)

ファイルの中身は以下のような感じでカンマ区切りのcsvファイルになっています(実際には302行499列あります)。
エクセルで開いてみましたが、行や列がずれているわけではないようです。

csv

1ID,i1/j1/k1,i2/j1/k1,i1/j2/k1,i1/j1/k2,i2/j2/k1,i2/j1/k2,i1/j2/k2,i2/j2/k2 2sample1,0,0,0,0,1,0,0,1 3sample2,0,0,0,0,1,0,0,0 4sample3,1,1,0,0,0,0,0,0 5sample4,0,0,0,0,0,0,0,1 6sample5,0,0,1,0,0,0,1,0 7sample6,0,0,0,1,0,0,0,0

またエラーメッセージで検索して以下のことを試しましたが、いずれも失敗に終わりました。

csvファイルの最終行に(すでに有りましたが)改行を追加 -> 変わらず同じ警告が出る
エンコードをutf-8-BOMと指定する -> 以下のようなエラーが出る

R

1> x <- read.csv("C:\Users\username\Desktop\Data\samples.csv", header=T, fileEncoding="utf-8-BOM") 2Error in file(file, "rt", encoding = fileEncoding) : 3 unsupported conversion from 'utf-8-BOM' to ''

どの様に修正すれば正しく読み込めるでしょうか?宜しくお願いいたします。

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

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

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

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

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

KojiDoi

2020/01/28 06:41

そのsamples.csvはどのようにして作ったものでしょうか。
i113

2020/01/28 06:59

どうも有難うございます。 人からもらったxlsxファイルの一部を新しく開いたエクセルシートにコピペしてcsvで保存したものです。
guest

回答1

0

ベストアンサー

掲出されたデータを試してみましたが、状況を再現できませんでした。

次のことを試してみてはどうでしょう。

  • fileEncodingをつけずにread.csvする。
  • fileEncoding="UTF-8-BOM"で試す(大文字と小文字を区別)
  • 一部行/一部列のみをとりだしたテストファイルを作って状況が再現するか確かめる。

投稿2020/01/28 07:16

KojiDoi

総合スコア13671

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

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

i113

2020/01/28 07:26

どうも有難うございます。 fileEncoding="UTF-8-BOM"で試す(大文字と小文字を区別) で解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問