[R-br] Regex

Éder Comunello comunello.eder em gmail.com
Sexta Maio 23 17:22:30 BRT 2014


Roney, boa tarde!

Há alguns pacotes específicos para tratar de referências no R, como o
RefManageR. Com ele é possível importar diretamente diversos formatos de
arquivos como Bibtex ou Zotero e é bem provável que irá facilitar suas
análises.

cran.r-project.org/web/packages/RefManageR/vignettes/manual.pdf

Embora a solução proposta por Gustavo Carvalho já deva lhe atender, também
arrisquei um código pra fins de aprendizado...

### <code r>
setwd("C:/LAB/Temp"); getwd()
raw  <- readLines("savedrecs.txt")
raw2 <- gsub("(^..)(.*$)", "\\1_\\2", raw)
df   <- read.table(text=raw2, head=F, sep='_')
rec  <- cumsum(ifelse(df$V1=="PT",1,0))
df2  <- cbind(rec, df)
df3  <- df2[grep("^AU|^DT|^PY|^VL|^BP", df2$V1),]
reshape2::dcast(df3, V1~rec, value.var="V2")
#   V1        1                    2
# 1 AU  Lin, TH  Brodeur-Campbell, M
# 2 BP      314                  320
# 3 DT  Article              Article
# 4 PY     2012                 2012
# 5 VL      116                  116

t(reshape2::dcast(df3, V1~rec, value.var="V2"))
#    [,1]                   [,2]   [,3]       [,4]    [,5]
# V1 "AU"                   "BP"   "DT"       "PY"    "VL"
# 1  " Lin, TH"             " 314" " Article" " 2012" " 116"
# 2  " Brodeur-Campbell, M" " 320" " Article" " 2012" " 116"
### </ code>

Atte.,

Éder Comunello <c <comunello.eder em gmail.com>omunello.eder em gmail.com>
Dourados, MS - [22 16.5'S, 54 49'W]


Em 22 de maio de 2014 17:07, Gustavo Carvalho <gustavo.bio em gmail.com>escreveu:

> Assim serve?
>
> test <- scan("savedrecs.txt", sep = "\n", what = "")
> matrix(test[grep("^AU|^DT|^PY|^VL|^BP", test)], ncol = 5, byrow = TRUE)
>
>
> 2014-05-22 17:48 GMT-03:00 Roney Fraga Souza <roneyfraga em gmail.com>:
>
>> Caros,
>>
>> Tenho o seguinte arquivo:
>> https://gist.github.com/roneyfraga/ca682b6193c75e7be4bf
>>
>> Quero manter apenas as linhas que começam com AU, DT, PY, VL e BP no
>> arquivo. O resultado seria:
>>
>> AU Lin, TH
>> DT Article
>> PY 2012
>> VL 116
>> BP 314
>>
>> AU Brodeur-Campbell, M
>> DT Article
>> PY 2012
>> VL 116
>> BP 320
>>
>>
>> Agora preciso que a cada 4 linhas estas sejam transpostas, de modo que ficaria assim:
>>
>> 	
>> 	
>> 	
>> 	
>> 	
>> 	
>> 	
>> 		V1
>> 		V2
>> 		V3
>> 		V4
>> 		V5
>> 	
>> 	
>> 		AU Lin, TH
>> 		DT Article
>> 		PY 2012
>> 		VL 116
>> 		BP 314
>> 	
>> 	
>> 		AU Brodeur-Campbell, M
>>
>>
>>
>> 		DT Article
>> 		PY 2012
>> 		VL 116
>> 		BP 320
>> 	
>>
>> Qualquer sugestão será bem vinda?
>>
>> Atenciosamente,
>> Roney
>>
>>
>>
>> _______________________________________________
>> R-br mailing list
>> R-br em listas.c3sl.ufpr.br
>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>> código mínimo reproduzível.
>>
>
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140523/9430a7ff/attachment.html>


Mais detalhes sobre a lista de discussão R-br