[R-br] Dúvida - Operadores %any%, :: e :::

Pedro Rafael pedro.rafael.marinho em gmail.com
Quinta Agosto 11 17:14:24 BRT 2011


Obrigado Benilton pelas dicas. Baixei uns materias de linguagem orientada à
objeto que vai me ajudar a criar programas mais interessantes. Já entendi
perfeitamente o uso dos operadores :: e ::: com sua ajuda e com mais algumas
lidas do próprio help do R.

Saudações,
Pedro Rafael Diniz Marinho
Em 11 de agosto de 2011 17:05, Pedro Rafael
<pedro.rafael.marinho em gmail.com>escreveu:

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


-- 
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/2206d25e/attachment.html>


Mais detalhes sobre a lista de discussão R-br