1. ホーム
  2. string

[解決済み] 文字列を数値に変換する[重複]。

2022-10-15 19:21:38

質問

テストファイルをインポートしてヒストグラムを作成してみました

pichman <- read.csv(file="picman.txt", header=TRUE, sep="/t")   
hist <- as.numeric(pichman$WS)    

しかし、私のデータセットの値とは異なる数値が表示されます。元々、テキストがあるからだと思い、テキストを削除しました。

table(pichman$WS)    
ws <- pichman$WS[pichman$WS!="Down" & pichman$WS!="NoData"]    

しかし、私はまだ非常に高い数字を得ることができます......誰かアイデアがありますか?

どのように解決するのですか?

要因に問題があるのではないでしょうか。例えば

> x = factor(4:8)
> x
[1] 4 5 6 7 8
Levels: 4 5 6 7 8
> as.numeric(x)
[1] 1 2 3 4 5
> as.numeric(as.character(x))
[1] 4 5 6 7 8

いくつかのコメント

  • あなたのベクターには "Down" と "NoData" という文字が含まれているとのことですが、これは何ですか?何を期待/希望していますか as.numeric はこれらの値に対して何を期待/希望していますか?
  • read.csv という引数を使ってみてください。 stringsAsFactors=FALSE
  • 本当に sep="/t であって sep="\t"
  • コマンドを使用する head(pitchman) を使って、データの最初の数行をチェックします。
  • また、データを提供しない場合、何が問題なのかを推測するのは非常に難しいです。最小限の動作例が常に望ましいです。例えば、私はコマンド pichman <- read.csv(file="picman.txt", header=TRUE, sep="/t") を実行することができません。