R での修正方法: 列名よりも多くの列


R で発生する可能性のあるエラーは次のとおりです。

 Error in read.table("my_data.csv", header=TRUE): 
  more columns than column names 

このエラーは通常、 read.table()関数を使用して R で CSV ファイルを読み取ろうとし、区切り文字 ( sep ) をカンマにするよう指定しなかった場合に発生します。

このチュートリアルでは、このエラーを修正する方法を正確に説明します。

エラーを再現する方法

Basketball_data.csvという次の CSV ファイルがあるとします。

ここで、 read.table()関数を使用してこのファイルを R にインポートしようとするとします。

 #attempt to import CSV into data frame
df <- read. table ("basketball_data.csv", header= TRUE ) 

Error in read.table("basketball_data.csv", header = TRUE): 
  more columns than column names

ファイル内の値がカンマ区切りであることを指定できなかったため、エラーが発生しました。

データ フレームの行の値の間にスペースはありますが、ヘッダーにはスペースがないため、 read.table()関数は列が 1 つだけであるとみなします。

つまり、列名よりも多くの列があることがわかります。

エラーを修正する方法

このエラーを修正する方法は、ファイルをインポートするときにsep=””を使用するだけです。

 #import CSV file into data frame
df <- read. table ("basketball_data.csv", header= TRUE , sep=",")

#view data frame
df
team points rebounds
1 to 22 10
2 B 14 9
3 C 29 6
4 D 30 2

ファイル内の値がカンマで区切られるように指定しているため、エラーなしで CSV ファイルを正常にインポートできます。

あるいは、ファイルが CSV ファイルであることがわかっている場合は、 read.csv()を使用してファイルをインポートすることもできます。

 #import CSV file into data frame
df <- read. csv ("basketball_data.csv", header= TRUE )

#view data frame
df

  team points rebounds
1 'A' 22 10
2 'B' 14 9
3 'C' 29 6
4 'D' 30 2

今回は、CSV ファイルをインポートするときにもエラーが発生しないことに注意してください。

追加リソース

次のチュートリアルでは、R の他の一般的なエラーを解決する方法について説明します。

R での修正方法: 名前が以前の名前と一致しない
R での修正方法: 長いオブジェクトの長さが短いオブジェクトの長さの倍数ではありません
R での修正方法: コントラストは 2 レベル以上の因子にのみ適用できます。

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です