-1

ExcelファイルからRのdata.tableにデータを読み込んでいます.ファイルは次のようにフォーマットされています:

   COL_1_STUFF COL_2_STUFF COL_3_STUFF
ID EST MOE PCT EST MOE PCT EST MOE PCT

つまり、変数 ( COLs) ごとに、推定値、誤差範囲、パーセンテージが示されます。

read.xlsx2問題は、次のようにファイルをインポートするために使用している によって作成されています。

data <- as.data.table(read.xlsx2(
  "file.xlsx", sheetIndex = 1L, colIndex = c(1L, 4L, 7L), startRow = 2L))

問題はread.xlsx2、同じ列名を一連のものに割り当てることです。インポートは次のようになります。

ID EST EST EST

を設定header = FALSEしても、次のようなものが得られがちです

X1 X2 X2 X2

これを回避するために、インポート後に次のことを行いました。

data[ , c("col1_est", "EST") := .(EST, NULL)]
data[ , c("col2_est", "EST") := .(EST, NULL)]
data[ , c("col3_est", "EST") := .(EST, NULL)]

これは、この問題に対処する奇妙な方法だと思います。誰かがこれに対する別のアプローチを提案できますか?

4

1 に答える 1

3

これは、 、、およびへのcheck.names引数を使用して実行できます。freaddata.tablesetDT

DT <- read.xlsx2(
  "file.xlsx", sheetIndex = 1L, colIndex = c(1L, 4L, 7L), startRow = 2L)
)
setDT(DT, check.names = TRUE)

重複する列名に 、 などを.1自動的に追加します。.2

于 2015-07-18T16:50:39.143 に答える