Novas versões dos pacotes R

Caros amigos da lista. Eu sou um iniciante no uso do R. Depois que comecei a utilizá-lo a análise de dados ficou mais divertida e criativa. Sinto-me livre... incrível!!! O uso do Tinn-R também é um fator motivacional para mim, devido à simplicidade de uso. Todavia, como iniciante, tenho tido algumas dificuldades em referência às atualizações do R e dos pacotes. Certa vez atualizei o R e algumas funções/pacotes deixaram de funcionar. Quase entrei em pânico, posto que jamais pensei que a simples atualização do R pudesse causar tanto transtorno. Acabei gastando muito tempo procurando erros no script, até que alguém sugeriu que o script poderia não rodar pela simples atualização do R. A atualização de pacotes é outro problema. Quando atualizei o R na última vez uma função que utilizava parou de funcionar. Então precisei de refazer parte importante do script. Diante do exposto vejo que preciso ter: 1) cópia dos pacotes; 2) cópia da versão do R utilizada em cada script É assim que vocês procedem? É possível que o R seja melhorado/atualizado sem prejuízo no uso dos scripts? É possível que os autores dos pacotes façam suas atualizações sem perda de funcionalidade das funções anteriormente liberadas? Ex. liberar o LSmatrix e LSmeans (informando que esta [e uma versão mais atualizada) e manter o popMeans e popMatrix? É querer muito? Talvez, para o expert em R estas questões sejam simplórias, e até idiotas, mas para alguns poucos (espero) simples usuários como eu estas questões são relevantes. Luiz Roberto. Luiz Roberto Martins Pinto Prof. Pleno/DCET/UESC Laboratório de Estatística Computacional Universidade Estadual de Santa Cruz Ilhéus-Bahia luizroberto.uesc@gmail.com skype: lrmpinto http://lattes.cnpq.br/2732314327604831

Problemas de atualizacao (i.e., vc atualiza o R e seus pacotes e coisas magicamente deixam de funcionar) costumam acontecer quando vc deixa de fazer os upgrades com alguma frequencia. O R possui dispositivos eficientes para avisar-lhe de mudancas, mas se os autores do seu pacote preferido nao os utilizam, entao e' algo para vc reclamar para os autores dos pacotes. Explico: O R possui uma atualizacao "majoritaria" a cada ano (em geral, em abril; costumava ser a cada 6 meses, mas os guRus julgaram que 1 ano e' melhor). Nesta atualizacao, o R muda de 3.1.x para 3.2.x, etc... Junto com ele, muda a maioria dos pacotes. Os desenvolvedores dos pacotes recebem a recomendacao de informar ao usuario final que a API mudara'... Se eles nao o fazem, ai' o problema e' outro.... Os pacotes mantidos pelo core (por exemplo, o pacote Matrix) usam essa estrategia, que funciona assim: - O pacote hoje tem uma funcao hipotetica chamada "minhaFuncao" em abril de 2014; - O autor decide substituir a "minhaFuncao" por "funcaoComUmNomeMelhor", mas nao altera o pacote ainda; - Em abril de 2015, o autor implementa "funcaoComUmNomeMelhor" e usa o metodo ".Deprecated" para avisar o usuario que "minhaFuncao" sera substituida por "funcaoComUmNomeMelhor"... Nesse periodo, as duas funcoes sao validas no R; - Em abril de 2016, o autor remove "minhaFuncao" e substitui o metodo ".Deprecated" por ".Defunct". Nesse ponto, todo mundo que tentar usar "minhaFuncao" recebera uma mensagem de erro e a mensagem de que "minhaFuncao" foi substituida por "funcaoComUmNomeMelhor"; - Em abril de 2017, o autor remove o ".Defunct"... O problema e' que nem todo desenvolvedor esta' disposto a fazer isso... Mas, note que isso nao e' problema do R, mas do modo que o desenvolvedor distribuir o seu software. Por sinal, o prazo de 1 ano nao e' estipulado, pode ate' ser gosto do desenvolvedor usar um ciclo de 2 meses, ou 6... sei la'... mas existem as ferramentas. Como eu procedo em geral? Uso ferramentas de pesquisa reprodutivel como Sweave e knitr. Em particular, ao montar um script, eu tenho os registros exatos de cada versao de pacote que estou utilizando... Assim, posso garantir um cenario de reprodutibilidade. b Em 14 de julho de 2014 11:46, Luiz Roberto Martins Pinto < luizroberto.uesc@gmail.com> escreveu:
Caros amigos da lista.
Eu sou um iniciante no uso do R.
Depois que comecei a utilizá-lo a análise de dados ficou mais divertida e criativa. Sinto-me livre... incrível!!! O uso do Tinn-R também é um fator motivacional para mim, devido à simplicidade de uso.
Todavia, como iniciante, tenho tido algumas dificuldades em referência às atualizações do R e dos pacotes.
Certa vez atualizei o R e algumas funções/pacotes deixaram de funcionar. Quase entrei em pânico, posto que jamais pensei que a simples atualização do R pudesse causar tanto transtorno. Acabei gastando muito tempo procurando erros no script, até que alguém sugeriu que o script poderia não rodar pela simples atualização do R.
A atualização de pacotes é outro problema. Quando atualizei o R na última vez uma função que utilizava parou de funcionar. Então precisei de refazer parte importante do script.
Diante do exposto vejo que preciso ter: 1) cópia dos pacotes; 2) cópia da versão do R utilizada em cada script
É assim que vocês procedem?
É possível que o R seja melhorado/atualizado sem prejuízo no uso dos scripts?
É possível que os autores dos pacotes façam suas atualizações sem perda de funcionalidade das funções anteriormente liberadas? Ex. liberar o LSmatrix e LSmeans (informando que esta [e uma versão mais atualizada) e manter o popMeans e popMatrix?
É querer muito? Talvez, para o expert em R estas questões sejam simplórias, e até idiotas, mas para alguns poucos (espero) simples usuários como eu estas questões são relevantes.
Luiz Roberto.
Luiz Roberto Martins Pinto Prof. Pleno/DCET/UESC Laboratório de Estatística Computacional Universidade Estadual de Santa Cruz Ilhéus-Bahia
luizroberto.uesc@gmail.com skype: lrmpinto http://lattes.cnpq.br/2732314327604831
_______________________________________________ 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.
-- [image: Benilton Carvalho on about.me] Benilton Carvalho about.me/benilton <http://about.me/benilton>

Ola Benilton, Agradeço a resposta. Luiz Roberto Luiz Roberto Martins Pinto Prof. Pleno/DCET/UESC Laboratório de Estatística Computacional Universidade Estadual de Santa Cruz Ilhéus-Bahia luizroberto.uesc@gmail.com skype: lrmpinto http://lattes.cnpq.br/2732314327604831 Em 14 de julho de 2014 12:17, Benilton Carvalho <beniltoncarvalho@gmail.com> escreveu:
Problemas de atualizacao (i.e., vc atualiza o R e seus pacotes e coisas magicamente deixam de funcionar) costumam acontecer quando vc deixa de fazer os upgrades com alguma frequencia. O R possui dispositivos eficientes para avisar-lhe de mudancas, mas se os autores do seu pacote preferido nao os utilizam, entao e' algo para vc reclamar para os autores dos pacotes. Explico:
O R possui uma atualizacao "majoritaria" a cada ano (em geral, em abril; costumava ser a cada 6 meses, mas os guRus julgaram que 1 ano e' melhor). Nesta atualizacao, o R muda de 3.1.x para 3.2.x, etc... Junto com ele, muda a maioria dos pacotes. Os desenvolvedores dos pacotes recebem a recomendacao de informar ao usuario final que a API mudara'... Se eles nao o fazem, ai' o problema e' outro.... Os pacotes mantidos pelo core (por exemplo, o pacote Matrix) usam essa estrategia, que funciona assim:
- O pacote hoje tem uma funcao hipotetica chamada "minhaFuncao" em abril de 2014; - O autor decide substituir a "minhaFuncao" por "funcaoComUmNomeMelhor", mas nao altera o pacote ainda; - Em abril de 2015, o autor implementa "funcaoComUmNomeMelhor" e usa o metodo ".Deprecated" para avisar o usuario que "minhaFuncao" sera substituida por "funcaoComUmNomeMelhor"... Nesse periodo, as duas funcoes sao validas no R; - Em abril de 2016, o autor remove "minhaFuncao" e substitui o metodo ".Deprecated" por ".Defunct". Nesse ponto, todo mundo que tentar usar "minhaFuncao" recebera uma mensagem de erro e a mensagem de que "minhaFuncao" foi substituida por "funcaoComUmNomeMelhor"; - Em abril de 2017, o autor remove o ".Defunct"...
O problema e' que nem todo desenvolvedor esta' disposto a fazer isso... Mas, note que isso nao e' problema do R, mas do modo que o desenvolvedor distribuir o seu software. Por sinal, o prazo de 1 ano nao e' estipulado, pode ate' ser gosto do desenvolvedor usar um ciclo de 2 meses, ou 6... sei la'... mas existem as ferramentas.
Como eu procedo em geral? Uso ferramentas de pesquisa reprodutivel como Sweave e knitr. Em particular, ao montar um script, eu tenho os registros exatos de cada versao de pacote que estou utilizando... Assim, posso garantir um cenario de reprodutibilidade.
b
Em 14 de julho de 2014 11:46, Luiz Roberto Martins Pinto < luizroberto.uesc@gmail.com> escreveu:
Caros amigos da lista.
Eu sou um iniciante no uso do R.
Depois que comecei a utilizá-lo a análise de dados ficou mais divertida e criativa. Sinto-me livre... incrível!!! O uso do Tinn-R também é um fator motivacional para mim, devido à simplicidade de uso.
Todavia, como iniciante, tenho tido algumas dificuldades em referência às atualizações do R e dos pacotes.
Certa vez atualizei o R e algumas funções/pacotes deixaram de funcionar. Quase entrei em pânico, posto que jamais pensei que a simples atualização do R pudesse causar tanto transtorno. Acabei gastando muito tempo procurando erros no script, até que alguém sugeriu que o script poderia não rodar pela simples atualização do R.
A atualização de pacotes é outro problema. Quando atualizei o R na última vez uma função que utilizava parou de funcionar. Então precisei de refazer parte importante do script.
Diante do exposto vejo que preciso ter: 1) cópia dos pacotes; 2) cópia da versão do R utilizada em cada script
É assim que vocês procedem?
É possível que o R seja melhorado/atualizado sem prejuízo no uso dos scripts?
É possível que os autores dos pacotes façam suas atualizações sem perda de funcionalidade das funções anteriormente liberadas? Ex. liberar o LSmatrix e LSmeans (informando que esta [e uma versão mais atualizada) e manter o popMeans e popMatrix?
É querer muito? Talvez, para o expert em R estas questões sejam simplórias, e até idiotas, mas para alguns poucos (espero) simples usuários como eu estas questões são relevantes.
Luiz Roberto.
Luiz Roberto Martins Pinto Prof. Pleno/DCET/UESC Laboratório de Estatística Computacional Universidade Estadual de Santa Cruz Ilhéus-Bahia
luizroberto.uesc@gmail.com skype: lrmpinto http://lattes.cnpq.br/2732314327604831
_______________________________________________ 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.
--
[image: Benilton Carvalho on about.me]
Benilton Carvalho about.me/benilton <http://about.me/benilton>
_______________________________________________ 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.

Luiz, Só contribuindo com que o Benilton disse, o problema de atualização não chega ser um problema grande para mim como usuário do R, isso porque o constante uso, o Ubuntu notificando as atualizações, o verificar do log dos pacotes atualizados são coisas que ajudam a manter as coisas em dia. Fora que todo ano eu tenho que (re)ecrever scripts quase que com o mesmo conteúdo para as novas turmas o que força uma busca pelo que há de novo. No entanto, como professor e por disponibilizar scripts abertamente do domínio LEG para alunos, a preocupação é maior. Os alunos não são regulares quanto ao sistema que usam e a versão do R. A melhor forma de minimizar dores de cabeça, como o Benilton disse, é dar ao usuário as condições de contorno, algo como um print do sessionInfo() que mostra a versão dos pacotes. Aí fica por conta do usuário por em dia. É contra produtivo voltar nos scripts de 2010 e fazê-los compatíveis com a versão recente do R. A questão das mensagens de notificação é uma coisa realmente de autor. O autor do pacote car (John Fox) faz essa notificação. Antes uma das funções se chamava scatterplot.matrix() e ele notificou que ela passou para scatterplotMatrix(). Acredito que ainda hoje você possa hoje usar scatterplot.matrix(). O autor do doBy não teve a mesma preocupação. Para esse caso em particular foi possível fazer as alterações em batelada. No terminal do Linux eu dei a instrução para que toda ocorrência de popMeans fosse substituída por LSmeans em arquivos de extensão R, Rmd e Rnw. Acontece que a mudança também alterou o objeto retornado, que passou ser uma lista com índices com outros nomes e objetos. Então, o que tenho considerado é dar sempre um sessionInfo() como último comando do script, recortar do console e deixar no script comentado. À disposição. Walmes.

Walmes, Você me deu uma ideia aqui quase sem querer. Estou em um projeto utilizando o R e não sabia como garantir que meu código obedeça algumas coisas do edital, esta história de colocar o sessioninfo() informando quais pacotes estou utilizando é a melhor que vi até agora. De: R-br [mailto:r-br-bounces@listas.c3sl.ufpr.br] Em nome de walmes . Enviada em: segunda-feira, 14 de julho de 2014 15:01 Para: r-br@listas.c3sl.ufpr.br Assunto: Re: [R-br] Novas versões dos pacotes R Luiz, Só contribuindo com que o Benilton disse, o problema de atualização não chega ser um problema grande para mim como usuário do R, isso porque o constante uso, o Ubuntu notificando as atualizações, o verificar do log dos pacotes atualizados são coisas que ajudam a manter as coisas em dia. Fora que todo ano eu tenho que (re)ecrever scripts quase que com o mesmo conteúdo para as novas turmas o que força uma busca pelo que há de novo. No entanto, como professor e por disponibilizar scripts abertamente do domínio LEG para alunos, a preocupação é maior. Os alunos não são regulares quanto ao sistema que usam e a versão do R. A melhor forma de minimizar dores de cabeça, como o Benilton disse, é dar ao usuário as condições de contorno, algo como um print do sessionInfo() que mostra a versão dos pacotes. Aí fica por conta do usuário por em dia. É contra produtivo voltar nos scripts de 2010 e fazê-los compatíveis com a versão recente do R. A questão das mensagens de notificação é uma coisa realmente de autor. O autor do pacote car (John Fox) faz essa notificação. Antes uma das funções se chamava scatterplot.matrix() e ele notificou que ela passou para scatterplotMatrix(). Acredito que ainda hoje você possa hoje usar scatterplot.matrix(). O autor do doBy não teve a mesma preocupação. Para esse caso em particular foi possível fazer as alterações em batelada. No terminal do Linux eu dei a instrução para que toda ocorrência de popMeans fosse substituída por LSmeans em arquivos de extensão R, Rmd e Rnw. Acontece que a mudança também alterou o objeto retornado, que passou ser uma lista com índices com outros nomes e objetos. Então, o que tenho considerado é dar sempre um sessionInfo() como último comando do script, recortar do console e deixar no script comentado. À disposição. Walmes.

Esta e' tbm uma vantagem de disponibilizar o conteudo por meio de um pacote... ai' vc coloca as os pacotes requeridos e suas respectivas versoes no campo Depends do DESCRIPTION. Em 14 de julho de 2014 17:52, Leonard de Assis <assis.leonard@gmail.com> escreveu:
Walmes,
Você me deu uma ideia aqui quase sem querer.
Estou em um projeto utilizando o R e não sabia como garantir que meu código obedeça algumas coisas do edital, esta história de colocar o sessioninfo() informando quais pacotes estou utilizando é a melhor que vi até agora.
[image: Cartão]
*De:* R-br [mailto:r-br-bounces@listas.c3sl.ufpr.br] *Em nome de *walmes . *Enviada em:* segunda-feira, 14 de julho de 2014 15:01 *Para:* r-br@listas.c3sl.ufpr.br *Assunto:* Re: [R-br] Novas versões dos pacotes R
Luiz,
Só contribuindo com que o Benilton disse, o problema de atualização não chega ser um problema grande para mim como usuário do R, isso porque o constante uso, o Ubuntu notificando as atualizações, o verificar do log dos pacotes atualizados são coisas que ajudam a manter as coisas em dia. Fora que todo ano eu tenho que (re)ecrever scripts quase que com o mesmo conteúdo para as novas turmas o que força uma busca pelo que há de novo. No entanto, como professor e por disponibilizar scripts abertamente do domínio LEG para alunos, a preocupação é maior. Os alunos não são regulares quanto ao sistema que usam e a versão do R. A melhor forma de minimizar dores de cabeça, como o Benilton disse, é dar ao usuário as condições de contorno, algo como um print do sessionInfo() que mostra a versão dos pacotes. Aí fica por conta do usuário por em dia. É contra produtivo voltar nos scripts de 2010 e fazê-los compatíveis com a versão recente do R. A questão das mensagens de notificação é uma coisa realmente de autor. O autor do pacote car (John Fox) faz essa notificação. Antes uma das funções se chamava scatterplot.matrix() e ele notificou que ela passou para scatterplotMatrix(). Acredito que ainda hoje você possa hoje usar scatterplot.matrix(). O autor do doBy não teve a mesma preocupação. Para esse caso em particular foi possível fazer as alterações em batelada. No terminal do Linux eu dei a instrução para que toda ocorrência de popMeans fosse substituída por LSmeans em arquivos de extensão R, Rmd e Rnw. Acontece que a mudança também alterou o objeto retornado, que passou ser uma lista com índices com outros nomes e objetos. Então, o que tenho considerado é dar sempre um sessionInfo() como último comando do script, recortar do console e deixar no script comentado.
À disposição.
Walmes.
_______________________________________________ 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.
-- [image: Benilton Carvalho on about.me] Benilton Carvalho about.me/benilton <http://about.me/benilton>

Dá para comparar as versões da sua sessão com as versões do usuário alvo. Basicamente comparar as strings das versões do R e dos pacotes carregados. Eles são dados no sessionInfo(). O código abaixo você pode no início do seu script, logo após carregar todos os pacotes necessários para sessão. ##----------------------------------------------------------------------------- ## Na minha sessão. require(latticeExtra) require(doBy) getVersion <- function(){ si <- sessionInfo() c(R=si$R.version$version.string, apply(sapply(si$otherPkgs, "[", c("Package","Version")), 2, paste, collapse="_")) } ## Executar uma vez, comentar, e usar com o dput(). ## myVersion <- getVersion() ## dput(myVersion) ## Resultado do dput(). myVersion <- structure(c("R version 3.1.0 (2014-04-10)", "doBy_4.5-10", "MASS_7.3-33", "survival_2.37-7", "latticeExtra_0.6-26", "lattice_0.20-29", "RColorBrewer_1.0-5"), .Names = c("R", "doBy", "MASS", "survival", "latticeExtra", "lattice", "RColorBrewer")) ##----------------------------------------------------------------------------- ## Na sessão do usuário. ## Versão do usuário. yourVersion <- getVersion() ## Compara e mostra o status das ocorrências. isOk <- myVersion%in%yourVersion status <- ifelse(isOk, paste(myVersion, "\t\tOk."), paste(myVersion, "\t\tFailed.")) cat(status, sep="\n") ##----------------------------------------------------------------------------- ## Retirando um pacote (ou modificar a versão). detach(package:latticeExtra) yourVersion <- getVersion() ## Compara e mostra o status das ocorrências. isOk <- myVersion%in%yourVersion status <- ifelse(isOk, paste(myVersion, "\t\tOk."), paste(myVersion, "\t\tFailed.")) cat(status, sep="\n") ##----------------------------------------------------------------------------- À disposição. Walmes.

No meu caso, pacote não funciona, seria até mais complicado. O edital pediu o código utilizado em formato impresso. Coisas de quem não sabe fazer termo de referência De: R-br [mailto:r-br-bounces@listas.c3sl.ufpr.br] Em nome de Benilton Carvalho Enviada em: segunda-feira, 14 de julho de 2014 17:55 Para: r-br Assunto: Re: [R-br] RES: Novas versões dos pacotes R Esta e' tbm uma vantagem de disponibilizar o conteudo por meio de um pacote... ai' vc coloca as os pacotes requeridos e suas respectivas versoes no campo Depends do DESCRIPTION. Em 14 de julho de 2014 17:52, Leonard de Assis <assis.leonard@gmail.com <mailto:assis.leonard@gmail.com> > escreveu: Walmes, Você me deu uma ideia aqui quase sem querer. Estou em um projeto utilizando o R e não sabia como garantir que meu código obedeça algumas coisas do edital, esta história de colocar o sessioninfo() informando quais pacotes estou utilizando é a melhor que vi até agora. De: R-br [mailto:r-br-bounces@listas.c3sl.ufpr.br <mailto:r-br-bounces@listas.c3sl.ufpr.br> ] Em nome de walmes . Enviada em: segunda-feira, 14 de julho de 2014 15:01 Para: r-br@listas.c3sl.ufpr.br <mailto:r-br@listas.c3sl.ufpr.br> Assunto: Re: [R-br] Novas versões dos pacotes R Luiz, Só contribuindo com que o Benilton disse, o problema de atualização não chega ser um problema grande para mim como usuário do R, isso porque o constante uso, o Ubuntu notificando as atualizações, o verificar do log dos pacotes atualizados são coisas que ajudam a manter as coisas em dia. Fora que todo ano eu tenho que (re)ecrever scripts quase que com o mesmo conteúdo para as novas turmas o que força uma busca pelo que há de novo. No entanto, como professor e por disponibilizar scripts abertamente do domínio LEG para alunos, a preocupação é maior. Os alunos não são regulares quanto ao sistema que usam e a versão do R. A melhor forma de minimizar dores de cabeça, como o Benilton disse, é dar ao usuário as condições de contorno, algo como um print do sessionInfo() que mostra a versão dos pacotes. Aí fica por conta do usuário por em dia. É contra produtivo voltar nos scripts de 2010 e fazê-los compatíveis com a versão recente do R. A questão das mensagens de notificação é uma coisa realmente de autor. O autor do pacote car (John Fox) faz essa notificação. Antes uma das funções se chamava scatterplot.matrix() e ele notificou que ela passou para scatterplotMatrix(). Acredito que ainda hoje você possa hoje usar scatterplot.matrix(). O autor do doBy não teve a mesma preocupação. Para esse caso em particular foi possível fazer as alterações em batelada. No terminal do Linux eu dei a instrução para que toda ocorrência de popMeans fosse substituída por LSmeans em arquivos de extensão R, Rmd e Rnw. Acontece que a mudança também alterou o objeto retornado, que passou ser uma lista com índices com outros nomes e objetos. Então, o que tenho considerado é dar sempre um sessionInfo() como último comando do script, recortar do console e deixar no script comentado. À disposição. Walmes. _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br <mailto: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. -- <http://d13pix9kaak6wt.cloudfront.net/signature/me-badge.png> Benilton Carvalho about.me/benilton

ha' controversias, mas entendo o que vc quer dizer :-) b Em 14 de julho de 2014 18:36, Leonard de Assis <assis.leonard@gmail.com> escreveu:
No meu caso, pacote não funciona, seria até mais complicado.
O edital pediu o código utilizado em formato impresso. Coisas de quem não sabe fazer termo de referência
[image: Cartão]
*De:* R-br [mailto:r-br-bounces@listas.c3sl.ufpr.br] *Em nome de *Benilton Carvalho *Enviada em:* segunda-feira, 14 de julho de 2014 17:55 *Para:* r-br *Assunto:* Re: [R-br] RES: Novas versões dos pacotes R
Esta e' tbm uma vantagem de disponibilizar o conteudo por meio de um pacote... ai' vc coloca as os pacotes requeridos e suas respectivas versoes no campo Depends do DESCRIPTION.
Em 14 de julho de 2014 17:52, Leonard de Assis <assis.leonard@gmail.com> escreveu:
Walmes,
Você me deu uma ideia aqui quase sem querer.
Estou em um projeto utilizando o R e não sabia como garantir que meu código obedeça algumas coisas do edital, esta história de colocar o sessioninfo() informando quais pacotes estou utilizando é a melhor que vi até agora.
[image: Cartão]
*De:* R-br [mailto:r-br-bounces@listas.c3sl.ufpr.br] *Em nome de *walmes . *Enviada em:* segunda-feira, 14 de julho de 2014 15:01 *Para:* r-br@listas.c3sl.ufpr.br *Assunto:* Re: [R-br] Novas versões dos pacotes R
Luiz,
Só contribuindo com que o Benilton disse, o problema de atualização não chega ser um problema grande para mim como usuário do R, isso porque o constante uso, o Ubuntu notificando as atualizações, o verificar do log dos pacotes atualizados são coisas que ajudam a manter as coisas em dia. Fora que todo ano eu tenho que (re)ecrever scripts quase que com o mesmo conteúdo para as novas turmas o que força uma busca pelo que há de novo. No entanto, como professor e por disponibilizar scripts abertamente do domínio LEG para alunos, a preocupação é maior. Os alunos não são regulares quanto ao sistema que usam e a versão do R. A melhor forma de minimizar dores de cabeça, como o Benilton disse, é dar ao usuário as condições de contorno, algo como um print do sessionInfo() que mostra a versão dos pacotes. Aí fica por conta do usuário por em dia. É contra produtivo voltar nos scripts de 2010 e fazê-los compatíveis com a versão recente do R. A questão das mensagens de notificação é uma coisa realmente de autor. O autor do pacote car (John Fox) faz essa notificação. Antes uma das funções se chamava scatterplot.matrix() e ele notificou que ela passou para scatterplotMatrix(). Acredito que ainda hoje você possa hoje usar scatterplot.matrix(). O autor do doBy não teve a mesma preocupação. Para esse caso em particular foi possível fazer as alterações em batelada. No terminal do Linux eu dei a instrução para que toda ocorrência de popMeans fosse substituída por LSmeans em arquivos de extensão R, Rmd e Rnw. Acontece que a mudança também alterou o objeto retornado, que passou ser uma lista com índices com outros nomes e objetos. Então, o que tenho considerado é dar sempre um sessionInfo() como último comando do script, recortar do console e deixar no script comentado.
À disposição.
Walmes.
_______________________________________________ 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.
--
[image: Benilton Carvalho on about.me]
*Benilton Carvalho*
about.me/benilton
_______________________________________________ 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.
-- [image: Benilton Carvalho on about.me] Benilton Carvalho about.me/benilton <http://about.me/benilton>

Luiz, É uma boa questão! Creio que a função sessionInfo() sugerida é, sem dúvida, uma boa (se não a melhor) opção! Principalmente se você armazenar uma cópia das versões dos pacotes usados em uma subpasta de sua pasta de trabalho (da tarefa) para o futuro. Creio que isto somente se justifica para scripts realmente importantes para você, pois fora isso seria inviável. Contudo, não se esqueça que embora já bem maduro o R é uma ambiente computacional em franca evolução. As coisas mudam com o tempo... software é essencialmente um tanto efêmero e nem todos os autores de pacotes tomam os cuidados já relatados pelo Benilton. Fora o aprendizado, talvez este seja o único preço que pagamos por usar software livre. Creio que você concorda que a relação custo/benefício é bem baixa e benéfica, não é mesmo. A estratégia que mais uso é a seguinte: 1- Quando recebo mensagem de erro verifico o News da versão mais nova do pacote (na web via Google: cran packages nome_do_pacote), geralmente (mas nem sempre como já foi dito) os autores escreve o que de importante foi alterado nas novas versões. 2- Se concordo com a mudança, altero meu script, se não, busco outras opções. Como atualizo meu R e os pacotes com muita frequência, os problemas geralmente são pequenos e fáceis de corrigir. Ficar ancorado em versões antigas de software (e ai falo de qualquer software e não do R & CIA) é realmente problemático a longo prazo. A melhor opção é ir acompanhando as atualizações com mais frequência. As minhas são semanais. Ab, ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\ Jose Claudio Faria Estatistica UESC/DCET/Brasil joseclaudio.faria at gmail.com Telefones: 55(73)3680.5545 - UESC 55(73)9966.9100 - VIVO 55(73)9100.7351 - TIM 55(73)8817.6159 - OI ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\

Faria, Agradeço a sugestão. Armazenarei os pacotes em pasta específica. Abraços, Luiz Roberto Luiz Roberto Martins Pinto Prof. Pleno/DCET/UESC Laboratório de Estatística Computacional Universidade Estadual de Santa Cruz Ilhéus-Bahia luizroberto.uesc@gmail.com skype: lrmpinto http://lattes.cnpq.br/2732314327604831 Em 15 de julho de 2014 09:48, Jose Claudio Faria < joseclaudio.faria@gmail.com> escreveu:
Luiz,
É uma boa questão!
Creio que a função sessionInfo() sugerida é, sem dúvida, uma boa (se não a melhor) opção! Principalmente se você armazenar uma cópia das versões dos pacotes usados em uma subpasta de sua pasta de trabalho (da tarefa) para o futuro. Creio que isto somente se justifica para scripts realmente importantes para você, pois fora isso seria inviável.
Contudo, não se esqueça que embora já bem maduro o R é uma ambiente computacional em franca evolução. As coisas mudam com o tempo... software é essencialmente um tanto efêmero e nem todos os autores de pacotes tomam os cuidados já relatados pelo Benilton.
Fora o aprendizado, talvez este seja o único preço que pagamos por usar software livre. Creio que você concorda que a relação custo/benefício é bem baixa e benéfica, não é mesmo.
A estratégia que mais uso é a seguinte: 1- Quando recebo mensagem de erro verifico o News da versão mais nova do pacote (na web via Google: cran packages nome_do_pacote), geralmente (mas nem sempre como já foi dito) os autores escreve o que de importante foi alterado nas novas versões.
2- Se concordo com a mudança, altero meu script, se não, busco outras opções.
Como atualizo meu R e os pacotes com muita frequência, os problemas geralmente são pequenos e fáceis de corrigir.
Ficar ancorado em versões antigas de software (e ai falo de qualquer software e não do R & CIA) é realmente problemático a longo prazo. A melhor opção é ir acompanhando as atualizações com mais frequência. As minhas são semanais.
Ab, ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\ Jose Claudio Faria Estatistica UESC/DCET/Brasil joseclaudio.faria at gmail.com Telefones: 55(73)3680.5545 - UESC 55(73)9966.9100 - VIVO 55(73)9100.7351 - TIM 55(73)8817.6159 - OI ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
_______________________________________________ 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 (5)
-
Benilton Carvalho
-
Jose Claudio Faria
-
Leonard de Assis
-
Luiz Roberto Martins Pinto
-
walmes .