これはread.csv row.namesおよびhttps://stackoverflow.com/questions/12425599/duplicated-row-namesに似ていますが、役立つ回答が表示されません。
問題: 最初の列に重複する数値が含まれているファイルを読み込もうとすると、row.names=NULL の場合に列ヘッダーがシフトします。
次のファイルをRに読み込もうとしています
TripId VID TspVID VWT VCLS Week
201110041426 2226 33889 1 0 41
201110041501 2226 33889 1 0 41
201110041510 2226 33889 1 0 41
201110041557 2226 33889 1 0 41
(これは、数千の行と約 200 の列を持つ CSV ファイルの Excel からの小さな抜粋です。最初の行には、他のすべてのエントリと同じ数のエントリがあります。最初の行には重複があります。列はありません。このビューのラベルとは一致しませんが、CSV スペースでは一致します。)
コマンド
> lm.table <- read.table(file= file.in, sep=",", header=TRUE)
Error in read.table(file = file.in, sep = ",", header = TRUE) :
duplicate 'row.names' are not allowed
動作しません。row.names に最初の列を使用することは、最初の行の値が他の行より少ないことを意味しますが、そうではありません。最初の列をrow.namesにしたくないのは確かです。
row.names=NULL を設定しようとしています
> lm.table <- read.table(file= file.in, sep=",", header=TRUE, row.names=NULL)
実行されますが、列がシフトされています
> head(lm.table)
row.names TripId VID TspVID VWT VCLS Week Date TimeStart TimeEnd Lat1
1 201110010006 2226 33889 1 0 40 2011/09/30 17:06:37 17:25:16 47.5168 -122.209
2 201110010028 2226 33889 1 0 40 2011/09/30 17:28:45 17:43:14 47.5517 -122.058
3 201110010000 2231 45781 1 0 40 2011/09/30 17:00:00 18:02:30 32.9010 -117.193
4 201110011407 2231 45781 1 0 40 2011/10/01 07:07:57 07:48:17 32.7044 -117.004
新しい列名「row.names」が導入され、行全体が右にシフトされたことに注意してください。
これが > head(lm.table) の結果の末尾です。列ラベルを未定義の列にシフトしました(これは、列ラベルの数=列の数も示していると思います。これは、検査でも当てはまります。)
FVavR FVstdR FIdlR
1 3.959140 2 NA
2 5.285770 20 NA
3 4.274140 26 NA
列がシフトする理由と、シフトせずにrow.namesを単純に昇順にする方法はありますか?