Número máximo de variáveis

Boa tarde pessoal! Estou tentando fazer um cbind em cinco objetos (a, b, c, d, e). Porém no último (fiz separado para ter certeza quando apareceria o erro) aparece a seguinte mensagem de erro: Erro: não é possível alocar vetor de tamanho 2.0 Mb Tenho a seguinte quantidade de variáveis em cada um dos objetos: a = 30 b = 217 c = 181 d = 4123 e = 3439 Total = 7990 Minha dúvida é: há limite de variáveis no R e por isso está reportando o erro supracitado. Desde já muito obrigado! -- *Alexandre Rodrigues Loures* Doutorando em Economia Aplicada Universidade Federal da Paraíba - UFPB Centro de Ciências Sociais Aplicadas - CCSA Programa de Pós-Graduação em Economia - PPGE Site: www.ccsa.ufpb.br/ppge orcid www.orcid.org/0000-0002-1288-0135

Alexandre, boa tarde! Acredito que o que esteja dando problemas não é o número de colunas, mas sim o tamanho dos objetos. Verifique com memory.size() antes da operação e veja se há espaço suficiente para alocar object.size() do último objeto. Pra funcionar, além de quantidade, é necessário que o espaço de memória esteja em um bloco de endereço contínuo. Abaixo fiz um teste com cbind, trabalhando com 1000x mais colunas e rodou legal. Só que o tamanho dos objetos é pequeno... ### <code r> n <- c(30, 217, 181, 4123, 3439) n <- n*1000 for (i in 1:5) assign(letters[i], t(cbind(rnorm(n[i]), runif(n[i])))) ls() # [1] "a" "b" "c" "d" "e" "i" "n" for (i in 1:5) print(object.size(get(letters[i])), units="Mb") # 0.5 Mb # 3.3 Mb # 2.8 Mb # 62.9 Mb # 52.5 Mb x <- cbind(a, b, c, d, e) str(x) # num [1:2, 1:7990000] 0.675 0.15 -0.979 0.681 -0.944 ... print(object.size(x), units="Mb") # 121.9 Mb gc() ### </code> ================================================ Éder Comunello PhD Student in Agricultural Systems Engineering (USP/Esalq) Brazilian Agricultural Research Corporation (Embrapa) Dourados, MS, Brazil [22 16.5'S, 54 49.0'W] Em 7 de fevereiro de 2016 14:12, Alexandre Loures < alexandre.loures@ymail.com> escreveu:
Boa tarde pessoal!
Estou tentando fazer um cbind em cinco objetos (a, b, c, d, e). Porém no último (fiz separado para ter certeza quando apareceria o erro) aparece a seguinte mensagem de erro:
Erro: não é possível alocar vetor de tamanho 2.0 Mb
Tenho a seguinte quantidade de variáveis em cada um dos objetos:
a = 30 b = 217 c = 181 d = 4123 e = 3439
Total = 7990
Minha dúvida é: há limite de variáveis no R e por isso está reportando o erro supracitado.
Desde já muito obrigado!
-- *Alexandre Rodrigues Loures* Doutorando em Economia Aplicada Universidade Federal da Paraíba - UFPB Centro de Ciências Sociais Aplicadas - CCSA Programa de Pós-Graduação em Economia - PPGE Site: www.ccsa.ufpb.br/ppge [image: orcid] www.orcid.org/0000-0002-1288-0135
_______________________________________________ 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.

Boa noite Éder! Muito obrigado pelo retorno! Meus objetos possuem: 72.7 Mb 455.6 Mb 382.4 Mb 8401.1 Mb 7009.7 Mb Mas defini o uso da memória em 36Gb. Logo não estou entendo porque não consigo fazer o cbind dos cinco objetos. Em 08/02/2016 13:53, Éder Comunello escreveu:
Alexandre, boa tarde!
Acredito que o que esteja dando problemas não é o número de colunas, mas sim o tamanho dos objetos. Verifique com memory.size() antes da operação e veja se há espaço suficiente para alocar object.size() do último objeto. Pra funcionar, além de quantidade, é necessário que o espaço de memória esteja em um bloco de endereço contínuo.
Abaixo fiz um teste com cbind, trabalhando com 1000x mais colunas e rodou legal. Só que o tamanho dos objetos é pequeno...
### <code r> n <- c(30, 217, 181, 4123, 3439) n <- n*1000
for (i in 1:5) assign(letters[i], t(cbind(rnorm(n[i]), runif(n[i])))) ls() # [1] "a" "b" "c" "d" "e" "i" "n"
for (i in 1:5) print(object.size(get(letters[i])), units="Mb") # 0.5 Mb # 3.3 Mb # 2.8 Mb # 62.9 Mb # 52.5 Mb
x <- cbind(a, b, c, d, e) str(x) # num [1:2, 1:7990000] 0.675 0.15 -0.979 0.681 -0.944 ...
print(object.size(x), units="Mb") # 121.9 Mb
gc() ### </code>
================================================ Éder Comunello PhD Student in Agricultural Systems Engineering (USP/Esalq) Brazilian Agricultural Research Corporation (Embrapa) Dourados, MS, Brazil [22 16.5'S, 54 49.0'W]
Em 7 de fevereiro de 2016 14:12, Alexandre Loures <alexandre.loures@ymail.com <mailto:alexandre.loures@ymail.com>> escreveu:
Boa tarde pessoal!
Estou tentando fazer um cbind em cinco objetos (a, b, c, d, e). Porém no último (fiz separado para ter certeza quando apareceria o erro) aparece a seguinte mensagem de erro:
Erro: não é possível alocar vetor de tamanho 2.0 Mb
Tenho a seguinte quantidade de variáveis em cada um dos objetos:
a = 30 b = 217 c = 181 d = 4123 e = 3439
Total = 7990
Minha dúvida é: há limite de variáveis no R e por isso está reportando o erro supracitado.
Desde já muito obrigado!
-- *Alexandre Rodrigues Loures* Doutorando em Economia Aplicada Universidade Federal da Paraíba - UFPB Centro de Ciências Sociais Aplicadas - CCSA Programa de Pós-Graduação em Economia - PPGE Site: www.ccsa.ufpb.br/ppge <http://www.ccsa.ufpb.br/ppge> orcid www.orcid.org/0000-0002-1288-0135 <http://www.orcid.org/0000-0002-1288-0135>
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br <mailto: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.
-- *Alexandre Rodrigues Loures* Doutorando em Economia Aplicada Universidade Federal da Paraíba - UFPB Centro de Ciências Sociais Aplicadas - CCSA Programa de Pós-Graduação em Economia - PPGE Site: www.ccsa.ufpb.br/ppge orcid www.orcid.org/0000-0002-1288-0135
participantes (2)
-
Alexandre Loures
-
Éder Comunello