2

このファイルを例にとると、data.frame 内のデータを読み込もうとしています。ドキュメント(pdf ファイル、表 1) から、いくつかの Fortran 規則に従っています。次のことを試しましたが、ほとんど成功しませんでした。

dir <- "Uncompressed-files/"
file <- "01_hit09.par"

delim <- c("I2", "I1", "F12.6", "E10.3", "E10.3", "F5.4", "F5.4", 
"F10.4", "F4.2", "F8.6", "A15", "A15", "A15", "A15", "6I1", "6I2", 
"A1", "F7.1", "F7.1")
test <- read.fortran(paste0(dir, file), delim)

test <- read.fwf(paste0(dir, file),
                 c(2, 1, 12, 10, 10, 5, 5, 10, 4, 8,
                   15, 15, 15, 15, 6, 12, 1, 7, 7))

正しいフォーマットを指定するためのヒントはありますか?

4

1 に答える 1

4

によると?read.fortran

  1. "E"はサポートされていない形式です。
  2. 「'F' または 'D' 形式で 'd > 0' を指定すると、入力ファイルで明示的に指定されていても、小数点以下の 'd' 桁が左にシフトします。」

したがって、すべての明示的な 10 進数形式に変更"E"して削除します。"F"

file <- "01_hit09.par"
delim <- c("I2", "I1", "F12", "F10", "F10", "F5", "F5", "F10", "F4", "F8",
           "A15", "A15", "A15", "A15", "6I1", "6I2", "A1", "F7", "F7")
(test <- read.fortran(file, delim, n=10))

更新:または、幅を正しく指定して使用しますread.fwf:

 test2 <- read.fwf(file, c(2,1,12,10,10,5,5,10,4,8,15,15,15,15,
                           rep(1,6),rep(2,6),1,7,7), as.is=TRUE)
于 2012-06-18T22:41:42.177 に答える