で読み取る可能性が高いテキスト データ ファイルがありますreadLines
。各文字列の最初の部分には、意味不明な部分が多く、その後に必要なデータが続きます。ちんぷんかんぷんとデータは通常、3 つのドットで区切られます。最後の 3 つのドットの後に文字列を分割するか、最後の 3 つのドットをある種のマーカーに置き換えて、これらの 3 つのドットの左側にあるすべてのものを 1 つの列として扱うように R に指示します。
最後のドットを見つける Stackoverflow の同様の投稿を次に示します。
ただし、私の場合、一部のデータには小数が含まれているため、最後のドットを見つけるだけでは不十分です。...
また、 R では特別な意味があると思いますが、これが問題を複雑にしている可能性があります。もう 1 つの潜在的な問題は、一部のドットが他のドットよりも大きいことです。また、一部の行では、3 つのドットのうちの 1 つがコンマに置き換えられました。
gregexpr
上記の投稿に加えて、 を使用してみgsub
ましたが、解決策がわかりません。
以下は、データ セットの例と、達成したい結果です。
aa = matrix(c(
'first string of junk... 0.2 0 1',
'next string ........2 0 2',
'%%%... ! 1959 ... 0 3 3',
'year .. 2 .,. 7 6 5',
'this_string is . not fine .•. 4 2 3'),
nrow=5, byrow=TRUE,
dimnames = list(NULL, c("C1")))
aa <- as.data.frame(aa, stringsAsFactors=F)
aa
# desired result
# C1 C2 C3 C4
# 1 first string of junk 0.2 0 1
# 2 next string ..... 2 0 2
# 3 %%%... ! 1959 0 3 3
# 4 year .. 2 7 6 5
# 5 this_string is . not fine 4 2 3
この質問が具体的すぎると見なされないことを願っています。テキスト データ ファイルは、R での MSWord ファイルの読み取りに関する昨日の投稿で概説した手順を使用して作成されました。
一部の行には意味不明または 3 つのドットが含まれていませんが、データのみが含まれています。ただし、それはフォローアップの投稿を複雑にする可能性があります。
アドバイスありがとうございます。