2017-02-06 11 views
0

Rに5000を超える要素を含む大きなリストがあります。要素の形式は次のとおりです。分割テキスト文字列R

$`/home/ricardo/MultiClass/data//Execucao_PUBLICACAO_DECISAO_INTERLOCUTORIA_DETERMINACAO_DE_PAGAMENTO/1117.txt.V1 

[1] DATA DE DISPONIBILIZACAO DA PUBLICACAO PELA FONTE OFICIAL: 16/11/2016 Pag 4279 Decisao Processo N RTOrd-0122200-90.2006.5.15.0087 <truncated>` 

私は2つの列dataframeでこれを変換したい:私はこの分割をどのように行うことができます

c1  
The contents between $ and [1] 

c2  
rest of the text 

$[1]の間の文字列の数が変更され、文字列$,[ e ]が残りの部分に表示されることに注意してください。

ありがとうございます。 リカルドです。

+0

ようこそStackOverflow。これらのヒントを見て、[最小、完全で検証可能な例](http://stackoverflow.com/help/mcve)の作成方法と[Rの素晴らしい例を作成する]( http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。おそらく、[良い質問をする]のヒント(http://stackoverflow.com/help/how-to-ask)も読む価値があるかもしれません。 – lmo

答えて

1
library(stringr) 

string <- '$/home/ricardo/MultiClass/data//Execucao_PUBLICACAO_DECISAO_INTERLOCUTORIA_DETERMINACAO_DE_PAGAMENTO/1117.txt.V1 [1] DATA DE DISPONIBILIZACAO DA PUBLICACAO PELA FONTE OFICIAL: 16/11/2016 Pag 4279 Decisao Processo N RTOrd-0122200-90.2006.5.15.0087' 

c1 <- str_match(string = string, pattern = "^\\$(.*) \\[1\\] (.*)")[,2] 
c2 <- str_match(string = string, pattern = "^\\$(.*) \\[1\\] (.*)")[,3] 
+1

これはテキスト入力ではなく、 'list'出力と思われます。 –

+0

はい。リストです。 –

1

$ ...テキストは、リスト要素の名前であり、そして[1] ...はその要素の値です。これらを抽出することができます(または、データを読み込む際に正しく割り当てることができます)。

a <- list(`this is the name` = "data stored in that variable") 

a 
#> $`this is the name` 
#> [1] "data stored in that variable" 

names(a) 
#> [1] "this is the name" 

as.character(a) 
#> [1] "data stored in that variable"