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>` 

Я хотел бы превратить это в двух столбцах dataframe где:

c1  
The contents between $ and [1] 

c2  
rest of the text 

Как я могу сделать этот раскол? Важно отметить, что число строк между $ и [1] может измениться, а строки $, [ e ] могут отображаться в остальной части текста.

Заранее благодарен, Ricardo.

+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" 

 Смежные вопросы

  • Нет связанных вопросов^_^