<div dir="ltr">José Cláudio,<div><br></div><div>De fato o R tem uma "bagagem histórica" e nem tudo nele é ortogonal (no sentido de programação) nem totalmente orientado a objetos.</div><div><br></div><div>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 <i>masking</i> dos objetos que você implementasse, mas isso já é a vida como ela é no [atual] R.</div>
<div><br></div><div>meus 0,01999999...</div><div><br></div><div>[]s</div><div>--</div><div>Cesar Rabak</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-09-01 17:43 GMT-03:00 Jose Claudio Faria <span dir="ltr"><<a href="mailto:joseclaudio.faria@gmail.com" target="_blank">joseclaudio.faria@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Olá pessoal,<br>
<br>
Gostaria de fazer uma consulta ao pessoal mais ligado ao<br>
desenvolvimento de soluções para o R.<br>
<br>
Estamos trabalhando para fazer o pacote fdth<br>
(<a href="http://cran.r-project.org/web/packages/fdth/index.html" target="_blank">http://cran.r-project.org/web/packages/fdth/index.html</a>) mais<br>
genérico, flexível e por conseguinte mais útil aos usuários.<br>
<br>
Entre as novidades:<br>
- os métodos tabulares e gráficos foram estendidos para as variáveis<br>
categóricas com as novas opções (barchart, poligon e dotchart para<br>
qualquer coluna da fdt assim como o gráfico de pareto) para as<br>
categóricas;<br>
<br>
- permite a criação de tabelas de distribuição de frequências (fdt)<br>
para variáveis contínuas e categóricas com um mínimo de argumentos<br>
baseado em uma fdt prévia existente na literatura (ou seja, você não<br>
conhece - de fato - o vetor da variável, apenas as frequências);<br>
<br>
- cálculo de medidas de tendência central (média e mediana) e posição<br>
(quantil genérico) a partir de uma fdt.<br>
<br>
Para gerar uma tabela de uma variável contínua (por exemplo) à partir<br>
do vetor de frequências é bem simples:<br>
> tb <- make.fdt(x=vetor_freq, start, end)<br>
<br>
Uma vez criado 'tb' irá pertencer a classe 'fdt'.<br>
Foram implementando métodos para as funções genéricas (mean, median,<br>
quantile) para a classe 'fdt'. por exemplo:<br>
> mean(tb)<br>
<br>
> median(tb)<br>
<br>
> quantile(tb, i=10, probs=seq(0, 1, .1) para calcular o 10 percentil.<br>
<br>
Minha questão é a seguinte, as funções 'var' e 'sd' não são genéricas.<br>
Assim não posso implementar o métodos: var.fdt e sd.fdt para chamar assim:<br>
> var(tb)<br>
<br>
> sd(tb)<br>
<br>
Poderia se criasse nova funções 'var' e 'sd' genéricas no pacote.<br>
Contudo, fico um pouco apreensivo com esta abordagem.<br>
<br>
Qual seria uma opção razoável para este caso?<br>
A mais simples seria escrever as funções 'var.fdt' e 'sd.fdt' e o<br>
usuário teria que usar assim:<br>
<br>
> var.fdt(x=tb)<br>
<br>
> sd.fdt(x=tb)<br>
<br>
Mas foge do padrão do restante do pacote que realmente é orientado a objetos S3.<br>
<br>
Nunca tinha me deparado com uma caso desses.<br>
<br>
Sugestões são muito bem vindas...<br>
<br>
Ab,<br>
///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\<br>
Jose Claudio Faria<br>
Estatistica<br>
UESC/DCET/Brasil<br>
joseclaudio.faria at <a href="http://gmail.com" target="_blank">gmail.com</a><br>
Telefones:<br>
55(73)3680.5545 - UESC<br>
55(73)9966.9100 - VIVO<br>
55(73)9100.7351 - TIM<br>
55(73)8817.6159 - OI<br>
///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\<br>
_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br>
</blockquote></div><br></div>