1

非常に小さな例に絞り込んだので、非常にばかげていると確信しています。

test.delete次の内容のファイルがあります。

Rock,bird
1350909372121900000,55.20000
1350909372318100000,55.30000
1350909382020900000,55.20000
1350909382029600000,55.20000
1350909384311100000,55.20000

そして、私は:

test = read.csv('test.delete', colClasses=c('character','numeric'))

しかし、すべての列が文字として読み込まれるようです:

> apply(test, 2, class)
       Rock        bird
"character" "character"

どうしてこれなの?

4

1 に答える 1

4

read.csvあなたが望むように働いています。あなたはapplyここを悪用しています。

strインポートしたデータを実行すると、他の変数が数値であることがわかります。しかし、 を呼び出すapplyと、データ フレームは 1 つのデータ型のみを処理するマトリックスに強制され、すべてが文字に強制されます。

lapplydata.frame は実際にはリストであるため、列クラスを確認するより安全な方法は を使用することです。

于 2012-10-29T22:59:12.697 に答える