
Para ambos os casos, suponha o seguinte codigo: x <- NULL for (i in 1:3) x[i] <- pi - Passo 1: crie um obj 'x' nulo (comprimento zero) - Passo 2.1: desista de 'x'; - Passo 2.2: crie um obj temporario de comprimento 1; - Passo 2.3: coloque pi na primeira posicao desse obj - Passo 2.4: apague x - Passo 2.5: renomeie o temporario para 'x'; - Passo 3: repita tudo do passo 2, mudando o comprimento para 2; - Passo 4: repita tudo do passo 2, mudando o comprimento para 3; Em suma, vc faz trocentas copias de um mesmo objeto e, eventualmente, a memoria estara' completamente fragmentada e vc vera' erros do genero "Cannot allocate vector of size XXXX Mb", apesar de ter RAM. Apesar de nao resolver completamente o problema, x <- vector('numeric', 3) ja aloca inicialmente toda a memoria que vc precisara... assim, diminui as chances de problema de alocacao e aumenta a velocidade de execucao, ja' q vc nao precisa ficar "copiando/colando" o objeto anterior toda vez que adiciona um novo elemento... (e o mesmo vale para listas) b 2011/10/3 Leandro Marino <leandro@cesgranrio.org.br>:
B,
Para completar seu tópico. Você poderia especificar os motivos para a não utilização destes itens?!
Atenciosamente, Leandro Lins Marino Centro de Avaliação Fundação CESGRANRIO Rua Santa Alexandrina, 1011 - 2º andar Rio de Janeiro, RJ - CEP: 20261-903 R (21) 2103-9600 R.:236 ( leandro@cesgranrio.org.br
Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE
Esta mensagem, incluindo seus anexos, pode conter informacoes privilegiadas e/ou de carater confidencial, nao podendo ser retransmitida sem autorizacao do remetente. Se voce nao e o destinatario ou pessoa autorizada a recebe-la, informamos que o seu uso, divulgacao, copia ou arquivamento sao proibidos. Portanto, se você recebeu esta mensagem por engano, por favor, nos informe respondendo imediatamente a este e-mail e em seguida apague-a.
-----Mensagem original----- De: r-br-bounces@listas.c3sl.ufpr.br [mailto:r-br-bounces@listas.c3sl.ufpr.br] Em nome de Benilton Carvalho Enviada em: segunda-feira, 3 de outubro de 2011 17:34 Para: r-br@listas.c3sl.ufpr.br Assunto: Re: [R-br] Não reconhece variável
Adicionalmente, dois outros itens da lista "O que nao fazer em R" estao presentes nessa discussao:
x <- NULL for (i in 1:10) x[i] <- alguma_coisa()
e
x <- c() for (i in 1:10) x[i] <- alguma_coisa()
devem ser substituidos por:
x <- vector('numeric', 10) for (i in 1:10) x[i] <- alguma_coisa()
b _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br 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.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br 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.
-- Successful people ask better questions, and as a result, they get better answers. (Tony Robbins)