例のようにヘッダーの行が複数ある場合は、Rのヘッダー行を検出してマージするスクリプト(下記参照)をリクエストしたいと思います。
1.ヘッダーの行数を確認します(2以上)。
2.ヘッダーギャップを入力します。例:NAsを参照してください。
3.すべてのヘッダー行を1つにマージします。
複雑なヘッダーを自動的に取得するR
私は手動でのみ行うことができます。以下を参照してください。たぶんこれは、任意の数の行を持つヘッダーで可能です。
text1<-"NA h_row1a NA NA NA h_row1b NA NA NA
NA h_row2a NA h_row2b NA h_row2c NA h_row2d NA
NA h_row3a h_row3b h_row3c h_row3d h_row3e h_row3f h_row3g h_row3h
element1 2 24% 25 40 23 44% 76 34
element2 3 26% 40 86 233 12% 55 12"
table1<-read.table(text=text1, skip=3,header=FALSE)
cat(text1, file = "ex.data")
header<-scan("ex.data", nlines = 1, what = character(), sep="", na.strings = "NA")
library(zoo)
header<-na.locf(header, na.rm=FALSE) # this fills the header gaps
header2 <- scan("ex.data", skip = 1, nlines = 1, what = character(), sep="", na.strings = "NA")
header2<-na.locf(header2, na.rm=FALSE)
header3 <- scan("ex.data", skip = 2, nlines = 1, what = character(), sep="", na.strings = "NA")
names(table1) <- paste0(header, header2, header3)
table1
# NANANA h_row1ah_row2ah_row3a h_row1ah_row2ah_row3b h_row1ah_row2bh_row3c h_row1ah_row2bh_row3d h_row1bh_row2ch_row3e h_row1bh_row2ch_row3f, etc.
#1 element1 2 24% 25 40 23 44%, etc.
#2 element2 3 26% , etc.
これまでに何を試みましたか?それを実装するあなたの具体的な問題は何ですか?あなたのコードを教えてください! – MrSmith42