web-dev-qa-db-ja.com

ヒストグラムを描画できません。「x」は数値でなければなりません

この形式のデータファイルがあります。

Weight    Industry Type  
251,787   Kellogg  h  
253,9601  Kellogg  a  
256,0758  Kellogg  h  
....

データを読み取り、次のコマンドを使用してヒストグラムを描画しようとします。

 ce <- read.table("file.txt", header = TRUE)

 we = ce[,1]
 in = ce[,2]
 ty = ce[,3]

hist(we)

しかし、私はこのエラーを受け取ります:

エラーen hist.default(we): 'x'は数値でなければなりません。

3つの変数のヒストグラムを描画するために何をする必要がありますか?

24
José Joel.

桁区切り記号があるため、データは「非数値」として読み取られます。だからあなたはそれを変換する必要があります:

 we <- gsub(",", "", we)   # remove comma
 we <- as.numeric(we)      # turn into numbers

そして今、あなたはできる

 hist(we)

その他の数値演算。

19

列名を使用して、ce(カンマを削除した後)から直接プロットすることもできます。

_hist(ce$Weight)
_

hist(ce[1])を使用するのとは対照的に、同じ「must be numeric」エラーが発生します。)

これは、データベースクエリ結果に対しても機能します。

dec引数を使用して、以下を追加して","を小数点として設定します。

 ce <- read.table("file.txt", header = TRUE, dec = ",")
3
U. Hjort