
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

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@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@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.

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@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W] Em 22 de maio de 2014 17:07, Gustavo Carvalho <gustavo.bio@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@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@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@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.

Éder, muito obrigado pelo código e pela dica. Parece que os pacotes como o RefManageR organizam as referências com intuito de permitir fazer citações e referências bibliográficas. Para fazer as tarefas ligadas a bibliometria, como baixar os arquivos do Web of Science e tirar métricas como número de citações, país de origem, redes de citação, co-citação, etc, serão possíveis de serem realizadas com o pacote refnet: https://r-forge.r-project.org/projects/refnet/. A questão é que este esta em estágio de desenvolvimento 3 - Alpha. Atualmente estou utilizando o software Bibexcel para trabalhar com os arquivos que importo do Web of Science, depois que tiro os padrões necessários para meu trabalho importo os arquivos e faço tudo o restante no R. Contudo, estou tendo problemas no Bibexcel com os abstracts quando o arquivo de trabalho tem 1 GB, passando de 200000 artigos científicos, daí estou tentando resolver essas pequenas pendências no R. Att. Roney

Roney, boa tarde! Pensei no RefManageR pois poderia importar diretamente os arquivos pra depois filtrar os campos de interesse. Assim ampliaria as possibilidades, como por exemplo, trabalhar com o o relacionamento entre autores, já que você poderia selecionar todos os autores de um mesmo trabalho. No esquema do código, está selecionando só o primeiro. Mas vejo que você já está utilizando ferramentas mais apropriadas. Bom trabalho. Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]

Roney, bom dia! Voltando o assunto, não sei se você já viu que você pode salvar os resultados da pesquisa da Web of Science em formato texto separado por tabulações. Com isso você pode ler o conteúdo mais facilmente com read.table() e filtrar o que lhe interessar. Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]

Éder, essa dica é daquelas que economiza horas de trabalho. Minha dúvida é, será que sempre esteve aí, ou passou a existir recentemente? Valeu! Roney

Roney, bom dia! Fazia um tempo que não usava a WoS e não lembro de ter visto essa opção anteriormente. Outra dica é para o caso de você utilizar o Windows. O arquivo separado por tabulações padrão é salvo em Unicode, então teria que indicar o argumento fileEncoding="UTF-16LE" (ou similar) no read.table(). A importação do arquivo UTF-8 no meu sistema, mesmo indicando o fileEncoding, ainda retorna umas inconsistências. Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W] Em 28 de maio de 2014 13:54, Roney Fraga Souza <roneyfraga@gmail.com> escreveu:
Éder, essa dica é daquelas que economiza horas de trabalho.
Minha dúvida é, será que sempre esteve aí, ou passou a existir recentemente?
Valeu!
Roney _______________________________________________ R-br mailing list R-br@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.
participantes (3)
-
Gustavo Carvalho
-
Roney Fraga Souza
-
Éder Comunello