我試圖導入了一系列的自定義數據文件到R.R數據導入自定義標記
的文件組織成塊,這是由類似XML的標記標籤標記。我知道這些文件不是真正的XML文件,它們不包含標記語言的定義。
每個塊可能是單行或製表符分隔的矩陣。評論往往會用%來標記%
這些文件長度約10K行,我需要大約2700行,所以我寧願避免循環。此外,文件長度和所需行數也會因不可預知的因素而有所不同。
我已經嘗試了一些XML包中的方法,但總會遇到一堆錯誤,如「StartTag:invalid element name」和「標籤MERGED-PUPIL-DATA行5443中的數據提前結束」。
你有什麼想法嗎?有沒有接受自定義標記標籤的方法?
一個典型的文件可能看起來像這樣(點表示的東西,我切出)
<SESSION>
<VERSION>
2
<\VERSION>
<DATE>
2014-01-20 14:29:43
<\DATE>
<SUBJECT-ID>
SUB001
<\SUBJECT-ID>
<NOTE>
red300os
<\NOTE>
<MIN-MAX-PLOT>
0.100000 8707.554688
<\MIN-MAX-PLOT>
<STIMULUS-DEFINED>
redOS300
Default Human Relative Spectral Sensitivity
1 0
1 10.000000 20.000000 60.000000 1 3 2.000000 -100.000000 0.000000 0.000000 1
<\STIMULUS-DEFINED>
.
.
.
.
.
.
<MERGED-PUPIL-DATA>
% time is in sec; diameter is in mm; loci is in pixel; color code -> 100 = unknown, 0 = white, 1 = red, 2 = green, 3 = blue; intensity is in Lux or W/m2
% real time logical time R. valid R. diameter R. x loci R. y loci L. valid L. diameter L. x loci L. y loci R. led color R. led intensity L. led color L. led intensity
2703
-0.049000 -0.049000 1 5.483765 266.668732 268.837402 1 5.441666 272.687500 272.724976 100 0.000000 100 0.000000
-0.018000 -0.018000 1 5.478448 265.918732 267.837402 1 5.438361 270.687500 273.406219 100 0.000000 100 0.000000
.
.
.
.
89.932000 89.932000 1 5.604879 289.575165 273.574738 1 5.255306 301.056091 303.812744 3 0.000000 3 0.000000
89.964000 89.964000 1 5.650856 289.575165 269.574738 1 5.255306 301.056091 301.812744 3 0.000000 3 0.000000
<\MERGED-PUPIL-DATA>
.
.
.
<\SESSION>
我認爲這將是更喜歡,如果<\TAG>小號是有效的XML小號 – Spacedman
如果外部工具是可以接受的,你有一個UNIX工具集我會使用'awk'來匹配你想要的部分,切成輸出到R可以讀取的新文件。 – Spacedman
你能發佈一個鏈接到完整的數據集嗎?我認爲你的問題之一是'顏色代碼 - > 100 =未知'行。 XML包不喜歡元素文本中的'<' or '>'。 – jlhoward