[R-br] RES: RES: Não reconhece variável
Leandro Marino
leandro em cesgranrio.org.br
Terça Outubro 4 09:01:58 BRT 2011
Valeu Benilton!
Vou ter que rever todo o tipo de programação que já fiz... :(
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 em 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: Benilton Carvalho [mailto:beniltoncarvalho em gmail.com]
Enviada em: segunda-feira, 3 de outubro de 2011 17:49
Para: r-br em listas.c3sl.ufpr.br; leandro em cesgranrio.org.br
Assunto: Re: [R-br] RES: Não reconhece variável
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 em 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 em 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 em listas.c3sl.ufpr.br [mailto:r-br-bounces em listas.c3sl.ufpr.br] Em nome de Benilton Carvalho
> Enviada em: segunda-feira, 3 de outubro de 2011 17:34
> Para: r-br em 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 em 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 em 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)
Mais detalhes sobre a lista de discussão R-br