7

これは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を単純に昇順にする方法はありますか?

4

5 に答える 5

8

同じ問題がありました。この行を追加しました:

colnames(rec) <- c(colnames(rec)[-1],"x")
rec$x <- NULL
于 2014-03-14T15:15:17.757 に答える
0

次のコードを使用しました。

lm.table  <- read.table("file name", header=TRUE, row.names=NULL)

これにより、左側に行名に番号が付けられた列が追加されましたが、列名がシフトされていることがわかりませんでした。列名がまだ正しい列と一致しているのに、R出力によって名前がシフトしたように見えた可能性がありますか?

于 2012-11-05T20:31:31.647 に答える