[R-br] Dúvida - Operadores %any%, :: e :::
Pedro Rafael
pedro.rafael.marinho em gmail.com
Quinta Agosto 11 17:05:54 BRT 2011
Obrigado senhores pelas dicas, e desculpem a demora para responder. Estou
aprendendo bastante sobre R nesta comunidade.
Abraço à todos.
Em 11 de agosto de 2011 17:05, Pedro Rafael
<pedro.rafael.marinho em gmail.com>escreveu:
>
>
> Em 1 de agosto de 2011 18:52, jcfaria [via R-br] <
> ml-node+3710920-1613572389-223914 em n4.nabble.com> escreveu:
>
> Complementando as dicas do Benilton,
>>
>> Em programação orientada a objetos (R é uma delas e usa atualmente
>> dois sistemas: S3 e S4)
>> algumas vezes o desenvolvedor opta por encapsular um objeto.
>>
>> Encapsular um objeto (no caso uma função) significa ocultar do usuário
>> detalhes usados no desenvolvimento dessa função.
>>
>> Por exemplo, as funções abaixo (plot.acf*, plot.data.frame*,
>> plot.factor*, plot.formula*, etc) estão todas encapsuladas.
>> Observe o marcador "*" em todas elas!
>>
>> > methods(plot)
>> [1] plot.acf* plot.data.frame* plot.decomposed.ts*
>> [4] plot.default plot.dendrogram* plot.density
>> [7] plot.ecdf plot.factor* plot.formula*
>> [10] plot.hclust* plot.histogram* plot.HoltWinters*
>> [13] plot.isoreg* plot.lm plot.medpolish*
>> [16] plot.mlm plot.ppr* plot.prcomp*
>> [19] plot.princomp* plot.profile.nls* plot.spec
>> [22] plot.spec.coherency plot.spec.phase plot.stepfun
>> [25] plot.stl* plot.table* plot.ts
>> [28] plot.tskernel* plot.TukeyHSD
>>
>> Non-visible functions are asterisked
>>
>> Se você digita o nome de uma delas para ver seu código fonte:
>> > plot.data.frame
>>
>> Recebe a mensagem: Erro: objeto 'plot.data.frame' não encontrado!
>> Ou seja, esta função está encapsulada (não visível ao usuário comum).
>>
>> O operador ":::" lhe permite ter acesso ao código fonte de qualquer
>> função encapsulada (não visível):
>>
>> > graphics:::plot.data.frame
>> function (x, ...)
>> {
>> plot2 <- function(x, xlab = names(x)[1L], ylab = names(x)[2L],
>> ...) plot(x[[1L]], x[[2L]], xlab = xlab, ylab = ylab,
>> ...)
>> if (!is.data.frame(x))
>> stop("'plot.data.frame' applied to non data frame")
>> if (ncol(x) == 1) {
>> x1 <- x[[1L]]
>> cl <- class(x1)
>> if (cl %in% c("integer", "numeric"))
>> stripchart(x1, ...)
>> else plot(x1, ...)
>> }
>> else if (ncol(x) == 2) {
>> plot2(x, ...)
>> }
>> else {
>> pairs(data.matrix(x), ...)
>> }
>> }
>> <environment: namespace:graphics>
>>
>>
>> Posso estar equivocado e gostaria de escutar a opinião da comunidade,
>> mas não vejo muito sentido em usar encapsulamento numa linguagem com
>> as características do R.
>>
>> Abs,
>> --
>> ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
>> Jose Claudio Faria
>> Estatistica - Prof. Pleno
>> UESC/DCET/Brasil
>> joseclaudio.faria at gmail.com
>> ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
>> _______________________________________________
>> R-br mailing list
>> [hidden email] <http://user/SendEmail.jtp?type=node&node=3710920&i=0>
>> 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.
>>
>>
>> ------------------------------
>> If you reply to this email, your message will be added to the discussion
>> below:
>>
>> http://r-br.2285057.n4.nabble.com/R-br-Duvida-Operadores-any-e-tp3710751p3710920.html
>> To unsubscribe from R-br, click here<http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3357982&code=cGVkcm8ucmFmYWVsLm1hcmluaG9AZ21haWwuY29tfDMzNTc5ODJ8NTAyMjI0MDYw>.
>>
>>
>
>
>
> --
> Saudações,
> Pedro Rafael Diniz Marinho - Estatístico SES-PB
> Currículo Lattes:
> http://buscatextual.cnpq.br/buscatextual/visualizacv.jsp?id=K4250792T6
>
>
--
Saudações,
Pedro Rafael Diniz Marinho - Estatístico SES-PB
Currículo Lattes:
http://buscatextual.cnpq.br/buscatextual/visualizacv.jsp?id=K4250792T6
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20110811/b8e93fce/attachment.html>
Mais detalhes sobre a lista de discussão R-br