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

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@gmail.com>escreveu:
Em 1 de agosto de 2011 18:52, jcfaria [via R-br] < ml-node+3710920-1613572389-223914@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-tp3710751p371... 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

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@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@gmail.com> escreveu:
Em 1 de agosto de 2011 18:52, jcfaria [via R-br] < ml-node+3710920-1613572389-223914@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-tp3710751p371... 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
participantes (1)
-
Pedro Rafael