Júnior, para ver o código fonte da função lapply, ou se quiser aprofundar-se na apply entre no CRAN baixe o código fonte (extensão .tar.gz) e vá no diretório: /R-2.13.0/src/library/bae/R/. Lá estarão todos arquivos .R das funções do base! Vale lembrar que algumas delas tem partes ou o todo implementadas em outras linguagens, segue o exemplo do lapply:<br>
<br>lapply <- function (X, FUN, ...)<br>{<br>    FUN <- match.fun(FUN)<br>    ## internal code handles all vector types, including expressions<br>    ## However, it would be OK to have attributes which is.vector<br>
    ## disallows.<br>    if(!is.vector(X) || is.object(X)) X <- as.list(X)<br>    .Internal(lapply(X, FUN))<br>}<br><br>rapply <-<br>    function(object, f, classes = "ANY", deflt = NULL,<br>             how = c("unlist", "replace", "list"), ...)<br>
{<br>    if(typeof(object) != "list")<br>        stop("'object' must be a list")<br>    how <- match.arg(how)<br>    res <- .Internal(rapply(object, f, classes, deflt, how))<br>    if(how == "unlist") unlist(res, recursive = TRUE) else res<br>
}<br><br><br>abraço,<br>FH<br><br><div class="gmail_quote">2011/6/13 Junior Beleti <span dir="ltr"><<a href="mailto:beleti.junior@gmail.com">beleti.junior@gmail.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Boa noite,<br><br>gostaria de entender o funcionamento da função apply, mais precisamente lapply, para loops.<br><br>Já conheço a descrição de seu funcionamento:<br><br>‘lapply’ returns a list of the same length as ‘X’, each element of which is the result of applying ‘FUN’ to the corresponding element of ‘X’.<br clear="all">

<br><br>Mas o que eu gostaria de saber é como ele funciona em sua essência. Por exemplo, utilizar um lapply ao invés de um loop "for" é mais rápido. <br>Eu gostaria de saber o porque, ou seja, como o lapply é implementado.<br>

<br>Não sei se fui claro, mas gostaria de encontrar a implementação da função lapply, o que não encontrei no diretório do pacote "base". <br><br>Se alguém puder ajudar.<br><br>Também peço desculpas por não ter dado grandes contribuições para a lista, mas creio ter mais experiência em programação (lógica) de fato, do que no ambiente R.<br>

<br>Obrigado.<br><font color="#888888"><br>-- <br>Carlos Roberto Beleti Junior<div>Mestrado em Ciência da Computação</div><div>Departamento de Informática</div><div>Universidade Estadual de Maringá</div><br>
</font><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>