
José Cláudio, De fato o R tem uma "bagagem histórica" e nem tudo nele é ortogonal (no sentido de programação) nem totalmente orientado a objetos. IMNSHO, acho que a abordagem que, em princípio, lhe deixa mais apreensivo seria a mais apropriada (e eventualmente após um teste de fogo no pacote, uma negociação poderia ser feito com os desenvolvedores do pacote base/stats do R para migrar essas funções para lá [que me parece o lugar "certo" para ela]), e uma ação intermediária poderia ser sobrepor essas funções no seu pacote e assegurar-se que se o(s) objeto(s) não fossem do pacote fdt a função do pacote base fosse chamada (na chamada do pacote você teria a famosa mensagem de *masking* dos objetos que você implementasse, mas isso já é a vida como ela é no [atual] R. meus 0,01999999... []s -- Cesar Rabak 2014-09-01 17:43 GMT-03:00 Jose Claudio Faria <joseclaudio.faria@gmail.com>:
Olá pessoal,
Gostaria de fazer uma consulta ao pessoal mais ligado ao desenvolvimento de soluções para o R.
Estamos trabalhando para fazer o pacote fdth (http://cran.r-project.org/web/packages/fdth/index.html) mais genérico, flexível e por conseguinte mais útil aos usuários.
Entre as novidades: - os métodos tabulares e gráficos foram estendidos para as variáveis categóricas com as novas opções (barchart, poligon e dotchart para qualquer coluna da fdt assim como o gráfico de pareto) para as categóricas;
- permite a criação de tabelas de distribuição de frequências (fdt) para variáveis contínuas e categóricas com um mínimo de argumentos baseado em uma fdt prévia existente na literatura (ou seja, você não conhece - de fato - o vetor da variável, apenas as frequências);
- cálculo de medidas de tendência central (média e mediana) e posição (quantil genérico) a partir de uma fdt.
Para gerar uma tabela de uma variável contínua (por exemplo) à partir do vetor de frequências é bem simples:
tb <- make.fdt(x=vetor_freq, start, end)
Uma vez criado 'tb' irá pertencer a classe 'fdt'. Foram implementando métodos para as funções genéricas (mean, median, quantile) para a classe 'fdt'. por exemplo:
mean(tb)
median(tb)
quantile(tb, i=10, probs=seq(0, 1, .1) para calcular o 10 percentil.
Minha questão é a seguinte, as funções 'var' e 'sd' não são genéricas. Assim não posso implementar o métodos: var.fdt e sd.fdt para chamar assim:
var(tb)
sd(tb)
Poderia se criasse nova funções 'var' e 'sd' genéricas no pacote. Contudo, fico um pouco apreensivo com esta abordagem.
Qual seria uma opção razoável para este caso? A mais simples seria escrever as funções 'var.fdt' e 'sd.fdt' e o usuário teria que usar assim:
var.fdt(x=tb)
sd.fdt(x=tb)
Mas foge do padrão do restante do pacote que realmente é orientado a objetos S3.
Nunca tinha me deparado com uma caso desses.
Sugestões são muito bem vindas...
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.