Re: [R-br] Selecionar bancos específicos de uma pasta

Se VC sabe qual os arquivos VC precisa let, certo? Deixe somente eles no seu objeto listas. Daniel On Mon, 18 May 2020, 18:11 Mauro Sznelwar por (R-br), < r-br@listas.c3sl.ufpr.br> wrote:
Tem o data set para rodar?
Lista, bom dia e boa semana!!! Criei o "reproduzível" para explicar a dúvida. Nesse exemplo, de uma pasta, identifiquei arquivos "*.csv", e depois apliquei o *lapply* e o *do.call* para importar e juntar esses bancos:
dir.create('c:/users/diogo/desktop/bancosex/') banco1=data.frame(cbind(c("Diogo","Patrícia"),c(42,40),c(5000,7000)))
write.csv2(banco1,file='c:/users/diogo/desktop/bancosex/banco1.csv',row.names=FALSE) banco2=data.frame(cbind(c("João","Alexandre"),c(41,40),c(8000,9000)))
write.csv2(banco2,file='c:/users/diogo/desktop/bancosex/banco2.csv',row.names=FALSE) banco3=data.frame(cbind(c("Angélica","Nádia"),c(40,38),c(9500,7500)))
write.csv2(banco3,file='c:/users/diogo/desktop/bancosex/banco3.csv',row.names=FALSE)
setwd('c:/users/diogo/desktop/bancosex/') lista<-list.files() arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) dados<-do.call("rbind", arquivos)
Meu problema: esse código vai "pegar" TODOS os bancos da pasta antes de importar e juntar. Eu gostaria de pegar somente PARTE desses bancos (ex: apenas banco1 e banco2, apenas banco2 e banco3...).
Alguém saberia como fazer isso?
Obrigado!!!
*Diogo Jerônimo* *Bacharel em Ciências Estatísticas - ENCE/IBGE* *Mestre em Metrologia - PUC-Rio/PósMQI* *CONRE: 8514 - SÉRIE A* _______________________________________________
_______________________________________________ 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.

Oi Daniel, boa noite. Esse exemplo eu dei para ilustrar, mas o meu caso é de bases de dados trimestrais em *.csv, onde cada base trimestral tem por volta de 100 Megas, bases que vem desde 2006 até 2020!!! Fora o tamanho, essas bases podem ter variáveis adicionais solicitadas pelo gestor ao longo dos anos (códigos adicionais, dado de alteração de um serviço...), e isso cria conflito se eu juntar as bases com número de colunas diferentes pelo "rbind". No meu caso, um período em que tenho dados uniformes (sem alteração do número de colunas) é entre 2017 e 2018, e nesse caso, não posso apagar e nem copiar as outras bases (por motivos de segurança). Assim, eu teria de escolher somente as bases dos trimestres dos anos que me interessam (2017 trim1,...,2018 trim4) para processar a análise estatística de interesse. Não sei se consegui ser claro, mas é isso. Obrigado!!! Diogo JerônimoBacharel em Ciências Estatísticas - ENCE/IBGEMestre em Metrologia - PUC-Rio/PósMQICONRE: 8514 - SÉRIE A Em segunda-feira, 18 de maio de 2020 18:14:38 BRT, Daniel Guimarães Tiezzi por (R-br) <r-br@listas.c3sl.ufpr.br> escreveu: Se VC sabe qual os arquivos VC precisa let, certo? Deixe somente eles no seu objeto listas. Daniel On Mon, 18 May 2020, 18:11 Mauro Sznelwar por (R-br), <r-br@listas.c3sl.ufpr.br> wrote: Tem o data set para rodar? Lista, bom dia e boa semana!!! Criei o "reproduzível" para explicar a dúvida. Nesse exemplo, de uma pasta, identifiquei arquivos "*.csv", e depois apliquei o lapply e o do.call para importar e juntar esses bancos: dir.create('c:/users/diogo/desktop/bancosex/')banco1=data.frame(cbind(c("Diogo","Patrícia"),c(42,40),c(5000,7000)))write.csv2(banco1,file='c:/users/diogo/desktop/bancosex/banco1.csv',row.names=FALSE)banco2=data.frame(cbind(c("João","Alexandre"),c(41,40),c(8000,9000))) write.csv2(banco2,file='c:/users/diogo/desktop/bancosex/banco2.csv',row.names=FALSE)banco3=data.frame(cbind(c("Angélica","Nádia"),c(40,38),c(9500,7500))) write.csv2(banco3,file='c:/users/diogo/desktop/bancosex/banco3.csv',row.names=FALSE) setwd('c:/users/diogo/desktop/bancosex/') lista<-list.files()arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) dados<-do.call("rbind", arquivos) Meu problema: esse código vai "pegar" TODOS os bancos da pasta antes de importar e juntar. Eu gostaria de pegar somente PARTE desses bancos (ex: apenas banco1 e banco2, apenas banco2 e banco3...). Alguém saberia como fazer isso? Obrigado!!! Diogo JerônimoBacharel em Ciências Estatísticas - ENCE/IBGEMestre em Metrologia - PUC-Rio/PósMQICONRE: 8514 - SÉRIE A_______________________________________________ _______________________________________________ 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.

Diogo, Segue minha solução a seu problema. Faça as adaptações necessárias. Fiz algumas alterações em seu código para tornar a saídas mais legíveis. dir.create('~/Downloads/bancosex/') banco1=data.frame(Nome=c("Diogo","Patrícia"),Idade=c(42,40),Salario=c(5000,7000)) write.csv2(banco1,file='~/Downloads/bancosex/banco1.csv',row.names=FALSE) banco2=data.frame(Nome=c("João","Alexandre"),Idade=c(41,40),Salario=c(8000,9000)) write.csv2(banco2,file='~/Downloads/bancosex/banco2.csv',row.names=FALSE) banco3=data.frame(Nome=c("Angélica","Nádia"),Idade=c(40,38),Salario=c(9500,7500)) write.csv2(banco3,file='~/Downloads/bancosex/banco3.csv',row.names=FALSE) ## dir= uma string com o path para o diretório ## nameBD= um vetor string com os nomes completos dos arquivos (p.ex "meuarquivo.csv") importaBD <-function(dir, nameBD){ lista<- vector(mode = "list", length =length(nameBD)) setwd(dir) for(i in 1:length(nameBD)){ lista[[i]]<-list.files(path=dir,pattern=nameBD) } arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) dados<-do.call("rbind",arquivos) print(dados) } importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco1.csv","banco2.csv")) Nome Idade Salario 1 Diogo 42 5000 2 Patrícia 40 7000 3 Diogo 42 5000 4 Patrícia 40 7000 att Em seg., 18 de mai. de 2020 às 19:39, Diogo Jerônimo por (R-br) < r-br@listas.c3sl.ufpr.br> escreveu:
Oi Daniel, boa noite.
Esse exemplo eu dei para ilustrar, mas o meu caso é de bases de dados trimestrais em *.csv, onde cada base trimestral tem por volta de 100 Megas, bases que vem desde 2006 até 2020!!!
Fora o tamanho, essas bases podem ter variáveis adicionais solicitadas pelo gestor ao longo dos anos (códigos adicionais, dado de alteração de um serviço...), e isso cria conflito se eu juntar as bases com número de colunas diferentes pelo "rbind".
No meu caso, um período em que tenho dados uniformes (sem alteração do número de colunas) é entre 2017 e 2018, e nesse caso, não posso apagar e nem copiar as outras bases (por motivos de segurança). Assim, eu teria de escolher somente as bases dos trimestres dos anos que me interessam (2017 trim1,...,2018 trim4) para processar a análise estatística de interesse.
Não sei se consegui ser claro, mas é isso.
Obrigado!!!
*Diogo Jerônimo* *Bacharel em Ciências Estatísticas - ENCE/IBGE* *Mestre em Metrologia - PUC-Rio/PósMQI* *CONRE: 8514 - SÉRIE A*
Em segunda-feira, 18 de maio de 2020 18:14:38 BRT, Daniel Guimarães Tiezzi por (R-br) <r-br@listas.c3sl.ufpr.br> escreveu:
Se VC sabe qual os arquivos VC precisa let, certo? Deixe somente eles no seu objeto listas.
Daniel
On Mon, 18 May 2020, 18:11 Mauro Sznelwar por (R-br), < r-br@listas.c3sl.ufpr.br> wrote:
Tem o data set para rodar?
Lista, bom dia e boa semana!!! Criei o "reproduzível" para explicar a dúvida. Nesse exemplo, de uma pasta, identifiquei arquivos "*.csv", e depois apliquei o *lapply* e o *do.call* para importar e juntar esses bancos:
dir.create('c:/users/diogo/desktop/bancosex/') banco1=data.frame(cbind(c("Diogo","Patrícia"),c(42,40),c(5000,7000)))
write.csv2(banco1,file='c:/users/diogo/desktop/bancosex/banco1.csv',row.names=FALSE) banco2=data.frame(cbind(c("João","Alexandre"),c(41,40),c(8000,9000)))
write.csv2(banco2,file='c:/users/diogo/desktop/bancosex/banco2.csv',row.names=FALSE) banco3=data.frame(cbind(c("Angélica","Nádia"),c(40,38),c(9500,7500)))
write.csv2(banco3,file='c:/users/diogo/desktop/bancosex/banco3.csv',row.names=FALSE)
setwd('c:/users/diogo/desktop/bancosex/') lista<-list.files() arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) dados<-do.call("rbind", arquivos)
Meu problema: esse código vai "pegar" TODOS os bancos da pasta antes de importar e juntar. Eu gostaria de pegar somente PARTE desses bancos (ex: apenas banco1 e banco2, apenas banco2 e banco3...).
Alguém saberia como fazer isso?
Obrigado!!!
*Diogo Jerônimo* *Bacharel em Ciências Estatísticas - ENCE/IBGE* *Mestre em Metrologia - PUC-Rio/PósMQI* *CONRE: 8514 - SÉRIE A* _______________________________________________
_______________________________________________ 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. _______________________________________________ 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.
-- Lattes: http://lattes.cnpq.br/6519538815038307 Blog: https://producaoanimalcomr.wordpress.com/ ==========================================

Uma pequena correção. Considere esse código aqui. att dir.create('~/Downloads/bancosex/') banco1=data.frame(Nome=c("Diogo","Patrícia"),Idade=c(42,40),Salario=c(5000,7000)) write.csv2(banco1,file='~/Downloads/bancosex/banco1.csv',row.names=FALSE) banco2=data.frame(Nome=c("João","Alexandre"),Idade=c(41,40),Salario=c(8000,9000)) write.csv2(banco2,file='~/Downloads/bancosex/banco2.csv',row.names=FALSE) banco3=data.frame(Nome=c("Angélica","Nádia"),Idade=c(40,38),Salario=c(9500,7500)) write.csv2(banco3,file='~/Downloads/bancosex/banco3.csv',row.names=FALSE) importaBD <-function(dir,nameBD){ lista<- vector(mode = "list", length =length(nameBD)) setwd(dir) for(i in 1:length(nameBD)){ lista[i]<-list.files(path=dir,pattern=nameBD[i]) } arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) do.call("rbind",arquivos) } Exemplo de uso importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco1.csv","banco2.csv")) Nome Idade Salario 1 Diogo 42 5000 2 Patrícia 40 7000 3 João 41 8000 4 Alexandre 40 9000
importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco3.csv","banco2.csv")) Nome Idade Salario 1 Angélica 40 9500 2 Nádia 38 7500 3 João 41 8000 4 Alexandre 40 9000
On May 18 2020, at 11:24 pm, Fernando Souza <nandodesouza@gmail.com> wrote:
Diogo, Segue minha solução a seu problema. Faça as adaptações necessárias.
Fiz algumas alterações em seu código para tornar a saídas mais legíveis.
dir.create('~/Downloads/bancosex/') banco1=data.frame(Nome=c("Diogo","Patrícia"),Idade=c(42,40),Salario=c(5000,7000)) write.csv2(banco1,file='~/Downloads/bancosex/banco1.csv',row.names=FALSE) banco2=data.frame(Nome=c("João","Alexandre"),Idade=c(41,40),Salario=c(8000,9000)) write.csv2(banco2,file='~/Downloads/bancosex/banco2.csv',row.names=FALSE) banco3=data.frame(Nome=c("Angélica","Nádia"),Idade=c(40,38),Salario=c(9500,7500)) write.csv2(banco3,file='~/Downloads/bancosex/banco3.csv',row.names=FALSE)
## dir= uma string com o path para o diretório ## nameBD= um vetor string com os nomes completos dos arquivos (p.ex "meuarquivo.csv")
importaBD <-function(dir, nameBD){ lista<- vector(mode = "list", length =length(nameBD))
setwd(dir)
for(i in 1:length(nameBD)){
lista[[i]]<-list.files(path=dir,pattern=nameBD)
}
arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) dados<-do.call("rbind",arquivos) print(dados)
}
importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco1.csv","banco2.csv"))
Nome Idade Salario 1 Diogo 42 5000 2 Patrícia 40 7000 3 Diogo 42 5000 4 Patrícia 40 7000
att Em seg., 18 de mai. de 2020 às 19:39, Diogo Jerônimo por (R-br) <r-br@listas.c3sl.ufpr.br (mailto:r-br@listas.c3sl.ufpr.br)> escreveu:
Oi Daniel, boa noite.
Esse exemplo eu dei para ilustrar, mas o meu caso é de bases de dados trimestrais em *.csv, onde cada base trimestral tem por volta de 100 Megas, bases que vem desde 2006 até 2020!!!
Fora o tamanho, essas bases podem ter variáveis adicionais solicitadas pelo gestor ao longo dos anos (códigos adicionais, dado de alteração de um serviço...), e isso cria conflito se eu juntar as bases com número de colunas diferentes pelo "rbind".
No meu caso, um período em que tenho dados uniformes (sem alteração do número de colunas) é entre 2017 e 2018, e nesse caso, não posso apagar e nem copiar as outras bases (por motivos de segurança). Assim, eu teria de escolher somente as bases dos trimestres dos anos que me interessam (2017 trim1,...,2018 trim4) para processar a análise estatística de interesse.
Não sei se consegui ser claro, mas é isso.
Obrigado!!!
Diogo Jerônimo Bacharel em Ciências Estatísticas - ENCE/IBGE Mestre em Metrologia - PUC-Rio/PósMQI CONRE: 8514 - SÉRIE A
Em segunda-feira, 18 de maio de 2020 18:14:38 BRT, Daniel Guimarães Tiezzi por (R-br) <r-br@listas.c3sl.ufpr.br (mailto:r-br@listas.c3sl.ufpr.br)> escreveu:
Se VC sabe qual os arquivos VC precisa let, certo? Deixe somente eles no seu objeto listas.
Daniel On Mon, 18 May 2020, 18:11 Mauro Sznelwar por (R-br), <r-br@listas.c3sl.ufpr.br (mailto:r-br@listas.c3sl.ufpr.br)> wrote:
Tem o data set para rodar?
Lista, bom dia e boa semana!!! Criei o "reproduzível" para explicar a dúvida. Nesse exemplo, de uma pasta, identifiquei arquivos "*.csv", e depois apliquei o lapply e o do.call para importar e juntar esses bancos:
dir.create('c:/users/diogo/desktop/bancosex/') banco1=data.frame(cbind(c("Diogo","Patrícia"),c(42,40),c(5000,7000))) write.csv2(banco1,file='c:/users/diogo/desktop/bancosex/banco1.csv',row.names=FALSE) banco2=data.frame(cbind(c("João","Alexandre"),c(41,40),c(8000,9000)))
write.csv2(banco2,file='c:/users/diogo/desktop/bancosex/banco2.csv',row.names=FALSE) banco3=data.frame(cbind(c("Angélica","Nádia"),c(40,38),c(9500,7500)))
write.csv2(banco3,file='c:/users/diogo/desktop/bancosex/banco3.csv',row.names=FALSE)
setwd('c:/users/diogo/desktop/bancosex/')
lista<-list.files() arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) dados<-do.call("rbind", arquivos)
Meu problema: esse código vai "pegar" TODOS os bancos da pasta antes de importar e juntar. Eu gostaria de pegar somente PARTE desses bancos (ex: apenas banco1 e banco2, apenas banco2 e banco3...).
Alguém saberia como fazer isso?
Obrigado!!!
Diogo Jerônimo Bacharel em Ciências Estatísticas - ENCE/IBGE Mestre em Metrologia - PUC-Rio/PósMQI CONRE: 8514 - SÉRIE A
_______________________________________________
_______________________________________________ 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 (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 (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.
--
Lattes: http://lattes.cnpq.br/6519538815038307 (https://link.getmailspring.com/link/CFEBFDF1-5D91-411C-A929-6DE1BCA22D7F@get...) Blog: https://producaoanimalcomr.wordpress.com/ (https://link.getmailspring.com/link/CFEBFDF1-5D91-411C-A929-6DE1BCA22D7F@get...) ==========================================

Prezado Fernando, não sei se é pertinente, mas... Deus o abençoe e o ilumine!!! Era exatamente o que eu queria, resolveu o problema!!! Obrigado!!!! Boa tarde a todos!!! Diogo JerônimoBacharel em Ciências Estatísticas - ENCE/IBGEMestre em Metrologia - PUC-Rio/PósMQICONRE: 8514 - SÉRIE A Em terça-feira, 19 de maio de 2020 00:03:33 BRT, Fernando Souza <nandodesouza@gmail.com> escreveu: Uma pequena correção. Considere esse código aqui. att dir.create('~/Downloads/bancosex/')banco1=data.frame(Nome=c("Diogo","Patrícia"),Idade=c(42,40),Salario=c(5000,7000))write.csv2(banco1,file='~/Downloads/bancosex/banco1.csv',row.names=FALSE)banco2=data.frame(Nome=c("João","Alexandre"),Idade=c(41,40),Salario=c(8000,9000))write.csv2(banco2,file='~/Downloads/bancosex/banco2.csv',row.names=FALSE)banco3=data.frame(Nome=c("Angélica","Nádia"),Idade=c(40,38),Salario=c(9500,7500))write.csv2(banco3,file='~/Downloads/bancosex/banco3.csv',row.names=FALSE) importaBD <-function(dir,nameBD){ lista<- vector(mode = "list", length =length(nameBD)) setwd(dir) for(i in 1:length(nameBD)){ lista[i]<-list.files(path=dir,pattern=nameBD[i]) } arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) do.call("rbind",arquivos) } Exemplo de uso importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco1.csv","banco2.csv")) Nome Idade Salario1 Diogo 42 50002 Patrícia 40 70003 João 41 80004 Alexandre 40 9000
importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco3.csv","banco2.csv")) Nome Idade Salario1 Angélica 40 95002 Nádia 38 75003 João 41 80004 Alexandre 40 9000 On May 18 2020, at 11:24 pm, Fernando Souza <nandodesouza@gmail.com> wrote: Diogo,Segue minha solução a seu problema. Faça as adaptações necessárias. Fiz algumas alterações em seu código para tornar a saídas mais legíveis.
dir.create('~/Downloads/bancosex/')banco1=data.frame(Nome=c("Diogo","Patrícia"),Idade=c(42,40),Salario=c(5000,7000))write.csv2(banco1,file='~/Downloads/bancosex/banco1.csv',row.names=FALSE)banco2=data.frame(Nome=c("João","Alexandre"),Idade=c(41,40),Salario=c(8000,9000))write.csv2(banco2,file='~/Downloads/bancosex/banco2.csv',row.names=FALSE)banco3=data.frame(Nome=c("Angélica","Nádia"),Idade=c(40,38),Salario=c(9500,7500))write.csv2(banco3,file='~/Downloads/bancosex/banco3.csv',row.names=FALSE) ## dir= uma string com o path para o diretório## nameBD= um vetor string com os nomes completos dos arquivos (p.ex "meuarquivo.csv") importaBD <-function(dir, nameBD){ lista<- vector(mode = "list", length =length(nameBD)) setwd(dir) for(i in 1:length(nameBD)){ lista[[i]]<-list.files(path=dir,pattern=nameBD) } arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) dados<-do.call("rbind",arquivos) print(dados) } importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco1.csv","banco2.csv")) Nome Idade Salario1 Diogo 42 50002 Patrícia 40 70003 Diogo 42 50004 Patrícia 40 7000 att Em seg., 18 de mai. de 2020 às 19:39, Diogo Jerônimo por (R-br) <r-br@listas.c3sl.ufpr.br> escreveu: Oi Daniel, boa noite. Esse exemplo eu dei para ilustrar, mas o meu caso é de bases de dados trimestrais em *.csv, onde cada base trimestral tem por volta de 100 Megas, bases que vem desde 2006 até 2020!!! Fora o tamanho, essas bases podem ter variáveis adicionais solicitadas pelo gestor ao longo dos anos (códigos adicionais, dado de alteração de um serviço...), e isso cria conflito se eu juntar as bases com número de colunas diferentes pelo "rbind". No meu caso, um período em que tenho dados uniformes (sem alteração do número de colunas) é entre 2017 e 2018, e nesse caso, não posso apagar e nem copiar as outras bases (por motivos de segurança). Assim, eu teria de escolher somente as bases dos trimestres dos anos que me interessam (2017 trim1,...,2018 trim4) para processar a análise estatística de interesse. Não sei se consegui ser claro, mas é isso. Obrigado!!! Diogo JerônimoBacharel em Ciências Estatísticas - ENCE/IBGEMestre em Metrologia - PUC-Rio/PósMQICONRE: 8514 - SÉRIE A Em segunda-feira, 18 de maio de 2020 18:14:38 BRT, Daniel Guimarães Tiezzi por (R-br) <r-br@listas.c3sl.ufpr.br> escreveu: Se VC sabe qual os arquivos VC precisa let, certo? Deixe somente eles no seu objeto listas. Daniel On Mon, 18 May 2020, 18:11 Mauro Sznelwar por (R-br), <r-br@listas.c3sl.ufpr.br> wrote: Tem o data set para rodar? Lista, bom dia e boa semana!!! Criei o "reproduzível" para explicar a dúvida. Nesse exemplo, de uma pasta, identifiquei arquivos "*.csv", e depois apliquei o lapply e o do.call para importar e juntar esses bancos: dir.create('c:/users/diogo/desktop/bancosex/')banco1=data.frame(cbind(c("Diogo","Patrícia"),c(42,40),c(5000,7000)))write.csv2(banco1,file='c:/users/diogo/desktop/bancosex/banco1.csv',row.names=FALSE)banco2=data.frame(cbind(c("João","Alexandre"),c(41,40),c(8000,9000)))write.csv2(banco2,file='c:/users/diogo/desktop/bancosex/banco2.csv',row.names=FALSE)banco3=data.frame(cbind(c("Angélica","Nádia"),c(40,38),c(9500,7500)))write.csv2(banco3,file='c:/users/diogo/desktop/bancosex/banco3.csv',row.names=FALSE) setwd('c:/users/diogo/desktop/bancosex/')lista<-list.files()arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) dados<-do.call("rbind", arquivos) Meu problema: esse código vai "pegar" TODOS os bancos da pasta antes de importar e juntar. Eu gostaria de pegar somente PARTE desses bancos (ex: apenas banco1 e banco2, apenas banco2 e banco3...). Alguém saberia como fazer isso? Obrigado!!! Diogo JerônimoBacharel em Ciências Estatísticas - ENCE/IBGEMestre em Metrologia - PUC-Rio/PósMQICONRE: 8514 - SÉRIE A_______________________________________________ _______________________________________________R-br mailing listR-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-brLeia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível. _______________________________________________R-br mailing listR-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-brLeia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível._______________________________________________R-br mailing listR-br@listas.c3sl.ufpr.brhttps://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-brLeia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível. -- Lattes: http://lattes.cnpq.br/6519538815038307Blog: https://producaoanimalcomr.wordpress.com/===================================...

Eu não conheço o Windows, mas não seria uma incompatibilidade do diretório HOME? Daniel
On 19 May 2020, at 21:26, Mauro Sznelwar por (R-br) <r-br@listas.c3sl.ufpr.br> wrote:
Não consegui rodar,alguém explica o motivo?
dir.create('~/Downloads/bancosex/')
Warning message: In dir.create("~/Downloads/bancosex/") : não foi possível criar o diretório 'C:\Users\Mauro\Documents\Downloads\bancosex', motivo 'No such file or directory'
Uma pequena correção.
Considere esse código aqui.
att
dir.create('~/Downloads/bancosex/') banco1=data.frame(Nome=c("Diogo","Patrícia"),Idade=c(42,40),Salario=c(5000,7000)) write.csv2(banco1,file='~/Downloads/bancosex/banco1.csv',row.names=FALSE) banco2=data.frame(Nome=c("João","Alexandre"),Idade=c(41,40),Salario=c(8000,9000)) write.csv2(banco2,file='~/Downloads/bancosex/banco2.csv',row.names=FALSE) banco3=data.frame(Nome=c("Angélica","Nádia"),Idade=c(40,38),Salario=c(9500,7500)) write.csv2(banco3,file='~/Downloads/bancosex/banco3.csv',row.names=FALSE)
importaBD <-function(dir,nameBD){
lista<- vector(mode = "list", length =length(nameBD))
setwd(dir)
for(i in 1:length(nameBD)){
lista[i]<-list.files(path=dir,pattern=nameBD[i])
}
arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";"))
do.call("rbind",arquivos)
}
Exemplo de uso
importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco1.csv","banco2.csv")) Nome Idade Salario 1 Diogo 42 5000 2 Patrícia 40 7000 3 João 41 8000 4 Alexandre 40 9000
importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco3.csv","banco2.csv")) Nome Idade Salario 1 Angélica 40 9500 2 Nádia 38 7500 3 João 41 8000 4 Alexandre 40 9000
On May 18 2020, at 11:24 pm, Fernando Souza <nandodesouza@gmail.com> wrote: Diogo, Segue minha solução a seu problema. Faça as adaptações necessárias.
Fiz algumas alterações em seu código para tornar a saídas mais legíveis.
dir.create('~/Downloads/bancosex/') banco1=data.frame(Nome=c("Diogo","Patrícia"),Idade=c(42,40),Salario=c(5000,7000)) write.csv2(banco1,file='~/Downloads/bancosex/banco1.csv',row.names=FALSE) banco2=data.frame(Nome=c("João","Alexandre"),Idade=c(41,40),Salario=c(8000,9000)) write.csv2(banco2,file='~/Downloads/bancosex/banco2.csv',row.names=FALSE) banco3=data.frame(Nome=c("Angélica","Nádia"),Idade=c(40,38),Salario=c(9500,7500)) write.csv2(banco3,file='~/Downloads/bancosex/banco3.csv',row.names=FALSE)
## dir= uma string com o path para o diretório ## nameBD= um vetor string com os nomes completos dos arquivos (p.ex "meuarquivo.csv")
importaBD <-function(dir, nameBD){
lista<- vector(mode = "list", length =length(nameBD))
setwd(dir)
for(i in 1:length(nameBD)){
lista[[i]]<-list.files(path=dir,pattern=nameBD)
}
arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";"))
dados<-do.call("rbind",arquivos)
print(dados)
}
importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco1.csv","banco2.csv"))
Nome Idade Salario 1 Diogo 42 5000 2 Patrícia 40 7000 3 Diogo 42 5000 4 Patrícia 40 7000
att
Em seg., 18 de mai. de 2020 às 19:39, Diogo Jerônimo por (R-br) <r-br@listas.c3sl.ufpr.br <x-msg://35/undefined//compose?to=r-br@listas.c3sl.ufpr.br>> escreveu: Oi Daniel, boa noite.
Esse exemplo eu dei para ilustrar, mas o meu caso é de bases de dados trimestrais em *.csv, onde cada base trimestral tem por volta de 100 Megas, bases que vem desde 2006 até 2020!!!
Fora o tamanho, essas bases podem ter variáveis adicionais solicitadas pelo gestor ao longo dos anos (códigos adicionais, dado de alteração de um serviço...), e isso cria conflito se eu juntar as bases com número de colunas diferentes pelo "rbind".
No meu caso, um período em que tenho dados uniformes (sem alteração do número de colunas) é entre 2017 e 2018, e nesse caso, não posso apagar e nem copiar as outras bases (por motivos de segurança). Assim, eu teria de escolher somente as bases dos trimestres dos anos que me interessam (2017 trim1,...,2018 trim4) para processar a análise estatística de interesse.
Não sei se consegui ser claro, mas é isso.
Obrigado!!!
Diogo Jerônimo Bacharel em Ciências Estatísticas - ENCE/IBGE Mestre em Metrologia - PUC-Rio/PósMQI CONRE: 8514 - SÉRIE A
Em segunda-feira, 18 de maio de 2020 18:14:38 BRT, Daniel Guimarães Tiezzi por (R-br) <r-br@listas.c3sl.ufpr.br <x-msg://35/undefined//compose?to=r-br@listas.c3sl.ufpr.br>> escreveu:
Se VC sabe qual os arquivos VC precisa let, certo? Deixe somente eles no seu objeto listas.
Daniel
On Mon, 18 May 2020, 18:11 Mauro Sznelwar por (R-br), <r-br@listas.c3sl.ufpr.br <x-msg://35/undefined//compose?to=r-br@listas.c3sl.ufpr.br>> wrote: Tem o data set para rodar?
Lista, bom dia e boa semana!!! Criei o "reproduzível" para explicar a dúvida. Nesse exemplo, de uma pasta, identifiquei arquivos "*.csv", e depois apliquei o lapply e o do.call para importar e juntar esses bancos:
dir.create('c:/users/diogo/desktop/bancosex/') banco1=data.frame(cbind(c("Diogo","Patrícia"),c(42,40),c(5000,7000))) write.csv2(banco1,file='c:/users/diogo/desktop/bancosex/banco1.csv',row.names=FALSE) banco2=data.frame(cbind(c("João","Alexandre"),c(41,40),c(8000,9000))) write.csv2(banco2,file='c:/users/diogo/desktop/bancosex/banco2.csv',row.names=FALSE) banco3=data.frame(cbind(c("Angélica","Nádia"),c(40,38),c(9500,7500))) write.csv2(banco3,file='c:/users/diogo/desktop/bancosex/banco3.csv',row.names=FALSE)
setwd('c:/users/diogo/desktop/bancosex/') lista<-list.files() arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) dados<-do.call("rbind", arquivos)
Meu problema: esse código vai "pegar" TODOS os bancos da pasta antes de importar e juntar. Eu gostaria de pegar somente PARTE desses bancos (ex: apenas banco1 e banco2, apenas banco2 e banco3...).
Alguém saberia como fazer isso?
Obrigado!!!
Diogo Jerônimo Bacharel em Ciências Estatísticas - ENCE/IBGE Mestre em Metrologia - PUC-Rio/PósMQI CONRE: 8514 - SÉRIE A _______________________________________________ _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br <x-msg://35/undefined//compose?to=R-br@listas.c3sl.ufpr.br>
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-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 <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 <x-msg://35/undefined//compose?to=R-br@listas.c3sl.ufpr.br>
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-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 <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 <x-msg://35/undefined//compose?to=R-br@listas.c3sl.ufpr.br> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-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 <http://www.leg.ufpr.br/r-br-guia>) e forneça código mínimo reproduzível.
--
Lattes: http://lattes.cnpq.br/6519538815038307 <https://link.getmailspring.com/link/CFEBFDF1-5D91-411C-A929-6DE1BCA22D7F@getmailspring.com/0?redirect=http%3A%2F%2Flattes.cnpq.br%2F6519538815038307&recipient=ci1ickBsaXN0YXMuYzNzbC51ZnByLmJy> Blog: https://producaoanimalcomr.wordpress.com/ <https://link.getmailspring.com/link/CFEBFDF1-5D91-411C-A929-6DE1BCA22D7F@getmailspring.com/1?redirect=https%3A%2F%2Fproducaoanimalcomr.wordpress.com%2F&recipient=ci1ickBsaXN0YXMuYzNzbC51ZnByLmJy> ========================================== _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-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 <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.

Mauro Eu utilizo o linux. No linux o edereço "~/Dowlnload/bancosex/" é o mesmo que "/home/fernando/Dowlnload/bancosex/" ele informa o caminho para a pasta "bancosex" no windows seria algo assim: C:\Users\Mauro\Downloads\bancosex Você pode clicar com o botão direito do mouse sobre a pasta, ir em propriedades e copiar o endereço May 19 2020, at 9:26 pm, Mauro Sznelwar por (R-br) <r-br@listas.c3sl.ufpr.br> wrote:
Não consegui rodar,alguém explica o motivo?
dir.create('~/Downloads/bancosex/')
Warning message: In dir.create("~/Downloads/bancosex/") : não foi possível criar o diretório 'C:\Users\Mauro\Documents\Downloads\bancosex', motivo 'No such file or directory'
Uma pequena correção.
Considere esse código aqui.
att
dir.create('~/Downloads/bancosex/') banco1=data.frame(Nome=c("Diogo","Patrícia"),Idade=c(42,40),Salario=c(5000,7000)) write.csv2(banco1,file='~/Downloads/bancosex/banco1.csv',row.names=FALSE) banco2=data.frame(Nome=c("João","Alexandre"),Idade=c(41,40),Salario=c(8000,9000)) write.csv2(banco2,file='~/Downloads/bancosex/banco2.csv',row.names=FALSE) banco3=data.frame(Nome=c("Angélica","Nádia"),Idade=c(40,38),Salario=c(9500,7500)) write.csv2(banco3,file='~/Downloads/bancosex/banco3.csv',row.names=FALSE)
importaBD <-function(dir,nameBD){
lista<- vector(mode = "list", length =length(nameBD))
setwd(dir)
for(i in 1:length(nameBD)){
lista[i]<-list.files(path=dir,pattern=nameBD[i])
}
arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";"))
do.call("rbind",arquivos)
}
Exemplo de uso
importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco1.csv","banco2.csv")) Nome Idade Salario 1 Diogo 42 5000 2 Patrícia 40 7000 3 João 41 8000 4 Alexandre 40 9000
importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco3.csv","banco2.csv")) Nome Idade Salario 1 Angélica 40 9500 2 Nádia 38 7500 3 João 41 8000 4 Alexandre 40 9000
On May 18 2020, at 11:24 pm, Fernando Souza <nandodesouza@gmail.com> wrote:
Diogo, Segue minha solução a seu problema. Faça as adaptações necessárias.
Fiz algumas alterações em seu código para tornar a saídas mais legíveis.
dir.create('~/Downloads/bancosex/') banco1=data.frame(Nome=c("Diogo","Patrícia"),Idade=c(42,40),Salario=c(5000,7000)) write.csv2(banco1,file='~/Downloads/bancosex/banco1.csv',row.names=FALSE) banco2=data.frame(Nome=c("João","Alexandre"),Idade=c(41,40),Salario=c(8000,9000)) write.csv2(banco2,file='~/Downloads/bancosex/banco2.csv',row.names=FALSE) banco3=data.frame(Nome=c("Angélica","Nádia"),Idade=c(40,38),Salario=c(9500,7500)) write.csv2(banco3,file='~/Downloads/bancosex/banco3.csv',row.names=FALSE)
## dir= uma string com o path para o diretório ## nameBD= um vetor string com os nomes completos dos arquivos (p.ex "meuarquivo.csv")
importaBD <-function(dir, nameBD){ lista<- vector(mode = "list", length =length(nameBD))
setwd(dir)
for(i in 1:length(nameBD)){
lista[[i]]<-list.files(path=dir,pattern=nameBD)
}
arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) dados<-do.call("rbind",arquivos) print(dados)
}
importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco1.csv","banco2.csv"))
Nome Idade Salario 1 Diogo 42 5000 2 Patrícia 40 7000 3 Diogo 42 5000 4 Patrícia 40 7000
att
Em seg., 18 de mai. de 2020 às 19:39, Diogo Jerônimo por (R-br) <r-br@listas.c3sl.ufpr.br (../../../undefined//compose?to=r-br@listas.c3sl.ufpr.br)> escreveu:
Oi Daniel, boa noite.
Esse exemplo eu dei para ilustrar, mas o meu caso é de bases de dados trimestrais em *.csv, onde cada base trimestral tem por volta de 100 Megas, bases que vem desde 2006 até 2020!!!
Fora o tamanho, essas bases podem ter variáveis adicionais solicitadas pelo gestor ao longo dos anos (códigos adicionais, dado de alteração de um serviço...), e isso cria conflito se eu juntar as bases com número de colunas diferentes pelo "rbind".
No meu caso, um período em que tenho dados uniformes (sem alteração do número de colunas) é entre 2017 e 2018, e nesse caso, não posso apagar e nem copiar as outras bases (por motivos de segurança). Assim, eu teria de escolher somente as bases dos trimestres dos anos que me interessam (2017 trim1,...,2018 trim4) para processar a análise estatística de interesse.
Não sei se consegui ser claro, mas é isso.
Obrigado!!!
Diogo Jerônimo Bacharel em Ciências Estatísticas - ENCE/IBGE Mestre em Metrologia - PUC-Rio/PósMQI CONRE: 8514 - SÉRIE A
Em segunda-feira, 18 de maio de 2020 18:14:38 BRT, Daniel Guimarães Tiezzi por (R-br) <r-br@listas.c3sl.ufpr.br (../../../undefined//compose?to=r-br@listas.c3sl.ufpr.br)> escreveu:
Se VC sabe qual os arquivos VC precisa let, certo? Deixe somente eles no seu objeto listas.
Daniel
On Mon, 18 May 2020, 18:11 Mauro Sznelwar por (R-br), <r-br@listas.c3sl.ufpr.br (../../../undefined//compose?to=r-br@listas.c3sl.ufpr.br)> wrote:
Tem o data set para rodar?
Lista, bom dia e boa semana!!! Criei o "reproduzível" para explicar a dúvida. Nesse exemplo, de uma pasta, identifiquei arquivos "*.csv", e depois apliquei o lapply e o do.call para importar e juntar esses bancos:
dir.create('c:/users/diogo/desktop/bancosex/') banco1=data.frame(cbind(c("Diogo","Patrícia"),c(42,40),c(5000,7000))) write.csv2(banco1,file='c:/users/diogo/desktop/bancosex/banco1.csv',row.names=FALSE) banco2=data.frame(cbind(c("João","Alexandre"),c(41,40),c(8000,9000)))
write.csv2(banco2,file='c:/users/diogo/desktop/bancosex/banco2.csv',row.names=FALSE) banco3=data.frame(cbind(c("Angélica","Nádia"),c(40,38),c(9500,7500)))
write.csv2(banco3,file='c:/users/diogo/desktop/bancosex/banco3.csv',row.names=FALSE)
setwd('c:/users/diogo/desktop/bancosex/')
lista<-list.files() arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) dados<-do.call("rbind", arquivos)
Meu problema: esse código vai "pegar" TODOS os bancos da pasta antes de importar e juntar. Eu gostaria de pegar somente PARTE desses bancos (ex: apenas banco1 e banco2, apenas banco2 e banco3...).
Alguém saberia como fazer isso?
Obrigado!!!
Diogo Jerônimo Bacharel em Ciências Estatísticas - ENCE/IBGE Mestre em Metrologia - PUC-Rio/PósMQI CONRE: 8514 - SÉRIE A
_______________________________________________
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br (../../../undefined//compose?to=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 (../../../undefined//compose?to=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 (../../../undefined//compose?to=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.
--
Lattes: http://lattes.cnpq.br/6519538815038307 (https://link.getmailspring.com/link/8D1775C6-DE0A-4444-B3A2-CAC5A979A7D1@get...) Blog: https://producaoanimalcomr.wordpress.com/ (https://link.getmailspring.com/link/8D1775C6-DE0A-4444-B3A2-CAC5A979A7D1@get...) ==========================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br (https://link.getmailspring.com/link/8D1775C6-DE0A-4444-B3A2-CAC5A979A7D1@get...) Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia (https://link.getmailspring.com/link/8D1775C6-DE0A-4444-B3A2-CAC5A979A7D1@get...)) 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.

Colegas, Em todos SOs um path (caminho/para/o/meu/diretorio/) é definido com / (forward slash), exceto o Windows que usa \ (backslash). Deve-se levar em conta que \ "dentro de uma string" no R significa um "scape", assim tem-se que por "\\" para ter o resultado esperado. att, FH On 5/19/20 7:44 PM, Fernando Souza por (R-br) wrote:
Mauro
Eu utilizo o linux. No linux o edereço "~/Dowlnload/bancosex/" é o mesmo que "/home/fernando/Dowlnload/bancosex/" ele informa o caminho para a pasta "bancosex"
no windows seria algo assim: C:\Users\Mauro\Downloads\bancosex
Você pode clicar com o botão direito do mouse sobre a pasta, ir em propriedades e copiar o endereço
May 19 2020, at 9:26 pm, Mauro Sznelwar por (R-br) <r-br@listas.c3sl.ufpr.br> wrote:
Não consegui rodar,alguém explica o motivo? dir.create('~/Downloads/bancosex/') Warning message: In dir.create("~/Downloads/bancosex/") : não foi possível criar o diretório 'C:\Users\Mauro\Documents\Downloads\bancosex', motivo 'No such file or directory' Uma pequena correção. Considere esse código aqui. att dir.create('~/Downloads/bancosex/') banco1=data.frame(Nome=c("Diogo","Patrícia"),Idade=c(42,40),Salario=c(5000,7000)) write.csv2(banco1,file='~/Downloads/bancosex/banco1.csv',row.names=FALSE) banco2=data.frame(Nome=c("João","Alexandre"),Idade=c(41,40),Salario=c(8000,9000)) write.csv2(banco2,file='~/Downloads/bancosex/banco2.csv',row.names=FALSE) banco3=data.frame(Nome=c("Angélica","Nádia"),Idade=c(40,38),Salario=c(9500,7500)) write.csv2(banco3,file='~/Downloads/bancosex/banco3.csv',row.names=FALSE) importaBD <-function(dir,nameBD){ lista<- vector(mode = "list", length =length(nameBD)) setwd(dir) for(i in 1:length(nameBD)){ lista[i]<-list.files(path=dir,pattern=nameBD[i]) } arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) do.call("rbind",arquivos) } Exemplo de uso importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco1.csv","banco2.csv")) Nome Idade Salario 1 Diogo 42 5000 2 Patrícia 40 7000 3 João 41 8000 4 Alexandre 40 9000 > importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco3.csv","banco2.csv")) Nome Idade Salario 1 Angélica 40 9500 2 Nádia 38 7500 3 João 41 8000 4 Alexandre 40 9000 On May 18 2020, at 11:24 pm, Fernando Souza <nandodesouza@gmail.com> wrote:
Diogo, Segue minha solução a seu problema. Faça as adaptações necessárias. Fiz algumas alterações em seu código para tornar a saídas mais legíveis. dir.create('~/Downloads/bancosex/') banco1=data.frame(Nome=c("Diogo","Patrícia"),Idade=c(42,40),Salario=c(5000,7000)) write.csv2(banco1,file='~/Downloads/bancosex/banco1.csv',row.names=FALSE) banco2=data.frame(Nome=c("João","Alexandre"),Idade=c(41,40),Salario=c(8000,9000)) write.csv2(banco2,file='~/Downloads/bancosex/banco2.csv',row.names=FALSE) banco3=data.frame(Nome=c("Angélica","Nádia"),Idade=c(40,38),Salario=c(9500,7500)) write.csv2(banco3,file='~/Downloads/bancosex/banco3.csv',row.names=FALSE) ## dir= uma string com o path para o diretório ## nameBD= um vetor string com os nomes completos dos arquivos (p.ex "meuarquivo.csv")
importaBD <-function(dir, nameBD){
lista<- vector(mode = "list", length =length(nameBD)) setwd(dir) for(i in 1:length(nameBD)){
lista[[i]]<-list.files(path=dir,pattern=nameBD) }
arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";"))
dados<-do.call("rbind",arquivos)
print(dados) }
importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco1.csv","banco2.csv")) Nome Idade Salario 1 Diogo 42 5000 2 Patrícia 40 7000 3 Diogo 42 5000 4 Patrícia 40 7000 att
Em seg., 18 de mai. de 2020 às 19:39, Diogo Jerônimo por (R-br) <r-br@listas.c3sl.ufpr.br <../../../undefined//compose?to=r-br@listas.c3sl.ufpr.br>> escreveu:
Oi Daniel, boa noite. Esse exemplo eu dei para ilustrar, mas o meu caso é de bases de dados trimestrais em *.csv, onde cada base trimestral tem por volta de 100 Megas, bases que vem desde 2006 até 2020!!! Fora o tamanho, essas bases podem ter variáveis adicionais solicitadas pelo gestor ao longo dos anos (códigos adicionais, dado de alteração de um serviço...), e isso cria conflito se eu juntar as bases com número de colunas diferentes pelo "rbind". No meu caso, um período em que tenho dados uniformes (sem alteração do número de colunas) é entre 2017 e 2018, e nesse caso, não posso apagar e nem copiar as outras bases (por motivos de segurança). Assim, eu teria de escolher somente as bases dos trimestres dos anos que me interessam (2017 trim1,...,2018 trim4) para processar a análise estatística de interesse. Não sei se consegui ser claro, mas é isso. Obrigado!!! /Diogo Jerônimo/ /Bacharel em Ciências Estatísticas - ENCE/IBGE/ /Mestre em Metrologia - PUC-Rio/PósMQI/ /CONRE: 8514 - SÉRIE A/ Em segunda-feira, 18 de maio de 2020 18:14:38 BRT, Daniel Guimarães Tiezzi por (R-br) <r-br@listas.c3sl.ufpr.br <../../../undefined//compose?to=r-br@listas.c3sl.ufpr.br>> escreveu: Se VC sabe qual os arquivos VC precisa let, certo? Deixe somente eles no seu objeto listas. Daniel
On Mon, 18 May 2020, 18:11 Mauro Sznelwar por (R-br), <r-br@listas.c3sl.ufpr.br <../../../undefined//compose?to=r-br@listas.c3sl.ufpr.br>> wrote:
Tem o data set para rodar?
Lista, bom dia e boa semana!!! Criei o "reproduzível" para explicar a dúvida. Nesse exemplo, de uma pasta, identifiquei arquivos "*.csv", e depois apliquei o *lapply* e o *do.call* para importar e juntar esses bancos: dir.create('c:/users/diogo/desktop/bancosex/') banco1=data.frame(cbind(c("Diogo","Patrícia"),c(42,40),c(5000,7000))) write.csv2(banco1,file='c:/users/diogo/desktop/bancosex/banco1.csv',row.names=FALSE) banco2=data.frame(cbind(c("João","Alexandre"),c(41,40),c(8000,9000))) write.csv2(banco2,file='c:/users/diogo/desktop/bancosex/banco2.csv',row.names=FALSE) banco3=data.frame(cbind(c("Angélica","Nádia"),c(40,38),c(9500,7500))) write.csv2(banco3,file='c:/users/diogo/desktop/bancosex/banco3.csv',row.names=FALSE) setwd('c:/users/diogo/desktop/bancosex/') lista<-list.files() arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) dados<-do.call("rbind", arquivos) Meu problema: esse código vai "pegar" TODOS os bancos da pasta antes de importar e juntar. Eu gostaria de pegar somente PARTE desses bancos (ex: apenas banco1 e banco2, apenas banco2 e banco3...). Alguém saberia como fazer isso? Obrigado!!! /Diogo Jerônimo/ /Bacharel em Ciências Estatísticas - ENCE/IBGE/ /Mestre em Metrologia - PUC-Rio/PósMQI/ /CONRE: 8514 - SÉRIE A/ _______________________________________________ _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br <../../../undefined//compose?to=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 <../../../undefined//compose?to=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 <../../../undefined//compose?to=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.
--
Lattes: http://lattes.cnpq.br/6519538815038307 <https://link.getmailspring.com/link/8D1775C6-DE0A-4444-B3A2-CAC5A979A7D1@getmailspring.com/0?redirect=https%3A%2F%2Flink.getmailspring.com%2Flink%2FCFEBFDF1-5D91-411C-A929-6DE1BCA22D7F%40getmailspring.com%2F0%3Fredirect%3Dhttp%253A%252F%252Flattes.cnpq.br%252F6519538815038307%26recipient%3Dci1ickBsaXN0YXMuYzNzbC51ZnByLmJy&recipient=ci1ickBsaXN0YXMuYzNzbC51ZnByLmJy> Blog: https://producaoanimalcomr.wordpress.com/ <https://link.getmailspring.com/link/8D1775C6-DE0A-4444-B3A2-CAC5A979A7D1@getmailspring.com/1?redirect=https%3A%2F%2Flink.getmailspring.com%2Flink%2FCFEBFDF1-5D91-411C-A929-6DE1BCA22D7F%40getmailspring.com%2F1%3Fredirect%3Dhttps%253A%252F%252Fproducaoanimalcomr.wordpress.com%252F%26recipient%3Dci1ickBsaXN0YXMuYzNzbC51ZnByLmJy&recipient=ci1ickBsaXN0YXMuYzNzbC51ZnByLmJy> ==========================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br <https://link.getmailspring.com/link/8D1775C6-DE0A-4444-B3A2-CAC5A979A7D1@getmailspring.com/2?redirect=https%3A%2F%2Flistas.inf.ufpr.br%2Fcgi-bin%2Fmailman%2Flistinfo%2Fr-br&recipient=ci1ickBsaXN0YXMuYzNzbC51ZnByLmJy> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia <https://link.getmailspring.com/link/8D1775C6-DE0A-4444-B3A2-CAC5A979A7D1@getmailspring.com/3?redirect=http%3A%2F%2Fwww.leg.ufpr.br%2Fr-br-guia&recipient=ci1ickBsaXN0YXMuYzNzbC51ZnByLmJy>) 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.
_______________________________________________ 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.

É mesmo, muito bem lembrado Fernando Toledo. Não sou usuário Windows e não me atentei para esse detalhe até você chamar a atenção. Muito obrigado! On May 19 2020, at 11:12 pm, Fernando H Toledo por (R-br) <r-br@listas.c3sl.ufpr.br> wrote:
Colegas, Em todos SOs um path (caminho/para/o/meu/diretorio/) é definido com / (forward slash), exceto o Windows que usa \ (backslash). Deve-se levar em conta que \ "dentro de uma string" no R significa um "scape", assim tem-se que por "\\" para ter o resultado esperado. att, FH On 5/19/20 7:44 PM, Fernando Souza por (R-br) wrote: > Mauro > > Eu utilizo o linux. No linux o edereço "~/Dowlnload/bancosex/" é o > mesmo que "/home/fernando/Dowlnload/bancosex/" > ele informa o caminho para a pasta "bancosex" > > no windows seria algo assim: > C:\Users\Mauro\Downloads\bancosex > > Você pode clicar com o botão direito do mouse sobre a pasta, ir em > propriedades e copiar o endereço > > > May 19 2020, at 9:26 pm, Mauro Sznelwar por (R-br) > wrote: > > Não consegui rodar,alguém explica o motivo? > dir.create('~/Downloads/bancosex/') > Warning message: > In dir.create("~/Downloads/bancosex/") : > não foi possível criar o diretório > 'C:\Users\Mauro\Documents\Downloads\bancosex', motivo 'No such > file or directory' > Uma pequena correção. > Considere esse código aqui. > att > dir.create('~/Downloads/bancosex/') > banco1=data.frame(Nome=c("Diogo","Patrícia"),Idade=c(42,40),Salario=c(5000,7000)) > write.csv2(banco1,file='~/Downloads/bancosex/banco1.csv',row.names=FALSE) > banco2=data.frame(Nome=c("João","Alexandre"),Idade=c(41,40),Salario=c(8000,9000)) > write.csv2(banco2,file='~/Downloads/bancosex/banco2.csv',row.names=FALSE) > banco3=data.frame(Nome=c("Angélica","Nádia"),Idade=c(40,38),Salario=c(9500,7500)) > write.csv2(banco3,file='~/Downloads/bancosex/banco3.csv',row.names=FALSE) > importaBD <-function(dir,nameBD){ > lista<- vector(mode = "list", length =length(nameBD)) > setwd(dir) > for(i in 1:length(nameBD)){ > lista[i]<-list.files(path=dir,pattern=nameBD[i]) > } > arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, > sep=";")) > do.call("rbind",arquivos) > } > Exemplo de uso > importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco1.csv","banco2.csv")) > Nome Idade Salario > 1 Diogo 42 5000 > 2 Patrícia 40 7000 > 3 João 41 8000 > 4 Alexandre 40 9000 > > > importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco3.csv","banco2.csv")) > Nome Idade Salario > 1 Angélica 40 9500 > 2 Nádia 38 7500 > 3 João 41 8000 > 4 Alexandre 40 9000 > On May 18 2020, at 11:24 pm, Fernando Souza > wrote: > > Diogo, > Segue minha solução a seu problema. Faça as adaptações > necessárias. > Fiz algumas alterações em seu código para tornar a saídas mais > legíveis. > dir.create('~/Downloads/bancosex/') > banco1=data.frame(Nome=c("Diogo","Patrícia"),Idade=c(42,40),Salario=c(5000,7000)) > write.csv2(banco1,file='~/Downloads/bancosex/banco1.csv',row.names=FALSE) > banco2=data.frame(Nome=c("João","Alexandre"),Idade=c(41,40),Salario=c(8000,9000)) > write.csv2(banco2,file='~/Downloads/bancosex/banco2.csv',row.names=FALSE) > banco3=data.frame(Nome=c("Angélica","Nádia"),Idade=c(40,38),Salario=c(9500,7500)) > write.csv2(banco3,file='~/Downloads/bancosex/banco3.csv',row.names=FALSE) > ## dir= uma string com o path para o diretório > ## nameBD= um vetor string com os nomes completos dos arquivos > (p.ex "meuarquivo.csv") > > importaBD <-function(dir, nameBD){ > > lista<- vector(mode = "list", length =length(nameBD)) > setwd(dir) > for(i in 1:length(nameBD)){ > > lista[[i]]<-list.files(path=dir,pattern=nameBD) > } > > arquivos<-lapply(lista, function(x) read.csv2(x, > header=TRUE, sep=";")) > > dados<-do.call("rbind",arquivos) > > print(dados) > } > > importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco1.csv","banco2.csv")) > Nome Idade Salario > 1 Diogo 42 5000 > 2 Patrícia 40 7000 > 3 Diogo 42 5000 > 4 Patrícia 40 7000 > att > > Em seg., 18 de mai. de 2020 às 19:39, Diogo Jerônimo por > (R-br) <../../../undefined//compose?to=r-br@listas.c3sl.ufpr.br>> > escreveu: > > Oi Daniel, boa noite. > Esse exemplo eu dei para ilustrar, mas o meu caso é de > bases de dados trimestrais em *.csv, onde cada base > trimestral tem por volta de 100 Megas, bases que vem desde > 2006 até 2020!!! > Fora o tamanho, essas bases podem ter variáveis adicionais > solicitadas pelo gestor ao longo dos anos (códigos > adicionais, dado de alteração de um serviço...), e isso > cria conflito se eu juntar as bases com número de colunas > diferentes pelo "rbind". > No meu caso, um período em que tenho dados uniformes (sem > alteração do número de colunas) é entre 2017 e 2018, e > nesse caso, não posso apagar e nem copiar as outras bases > (por motivos de segurança). Assim, eu teria de escolher > somente as bases dos trimestres dos anos que me interessam > (2017 trim1,...,2018 trim4) para processar a análise > estatística de interesse. > Não sei se consegui ser claro, mas é isso. > Obrigado!!! > /Diogo Jerônimo/ > /Bacharel em Ciências Estatísticas - ENCE/IBGE/ > /Mestre em Metrologia - PUC-Rio/PósMQI/ > /CONRE: 8514 - SÉRIE A/ > Em segunda-feira, 18 de maio de 2020 18:14:38 BRT, Daniel > Guimarães Tiezzi por (R-br) <../../../undefined//compose?to=r-br@listas.c3sl.ufpr.br>> > escreveu: > Se VC sabe qual os arquivos VC precisa let, certo? Deixe > somente eles no seu objeto listas. > Daniel > > On Mon, 18 May 2020, 18:11 Mauro Sznelwar por (R-br), > <../../../undefined//compose?to=r-br@listas.c3sl.ufpr.br>> > wrote: > > Tem o data set para rodar? > > > Lista, bom dia e boa semana!!! Criei o "reproduzível" > para explicar a dúvida. Nesse exemplo, de uma pasta, > identifiquei arquivos "*.csv", e depois apliquei o > *lapply* e o *do.call* para importar e juntar esses > bancos: > dir.create('c:/users/diogo/desktop/bancosex/') > banco1=data.frame(cbind(c("Diogo","Patrícia"),c(42,40),c(5000,7000))) > write.csv2(banco1,file='c:/users/diogo/desktop/bancosex/banco1.csv',row.names=FALSE) > banco2=data.frame(cbind(c("João","Alexandre"),c(41,40),c(8000,9000))) > write.csv2(banco2,file='c:/users/diogo/desktop/bancosex/banco2.csv',row.names=FALSE) > banco3=data.frame(cbind(c("Angélica","Nádia"),c(40,38),c(9500,7500))) > write.csv2(banco3,file='c:/users/diogo/desktop/bancosex/banco3.csv',row.names=FALSE) > setwd('c:/users/diogo/desktop/bancosex/') > lista<-list.files() > arquivos<-lapply(lista, function(x) read.csv2(x, > header=TRUE, sep=";")) > dados<-do.call("rbind", arquivos) > Meu problema: esse código vai "pegar" TODOS os bancos > da pasta antes de importar e juntar. Eu gostaria de > pegar somente PARTE desses bancos (ex: apenas banco1 e > banco2, apenas banco2 e banco3...). > Alguém saberia como fazer isso? > Obrigado!!! > /Diogo Jerônimo/ > /Bacharel em Ciências Estatísticas - ENCE/IBGE/ > /Mestre em Metrologia - PUC-Rio/PósMQI/ > /CONRE: 8514 - SÉRIE A/ > _______________________________________________ > _______________________________________________ > R-br mailing list > R-br@listas.c3sl.ufpr.br > <../../../undefined//compose?to=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 > <../../../undefined//compose?to=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 > <../../../undefined//compose?to=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. > > > > -- > > Lattes: http://lattes.cnpq.br/6519538815038307 > > Blog: https://producaoanimalcomr.wordpress.com/ > > ========================================== > > _______________________________________________ > 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. > > > _______________________________________________ > 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.

Obrigado Fernando, vou adequar meu código e ver o resultado!!! Bom dia!!!! Diogo JerônimoBacharel em Ciências Estatísticas - ENCE/IBGEMestre em Metrologia - PUC-Rio/PósMQICONRE: 8514 - SÉRIE AEmail: diogojose21@yahoo.com.brhttp://lattes.cnpq.br/8996149312896520 Em segunda-feira, 18 de maio de 2020 23:24:43 BRT, Fernando Souza <nandodesouza@gmail.com> escreveu: Diogo,Segue minha solução a seu problema. Faça as adaptações necessárias. Fiz algumas alterações em seu código para tornar a saídas mais legíveis. dir.create('~/Downloads/bancosex/')banco1=data.frame(Nome=c("Diogo","Patrícia"),Idade=c(42,40),Salario=c(5000,7000)) write.csv2(banco1,file='~/Downloads/bancosex/banco1.csv',row.names=FALSE) banco2=data.frame(Nome=c("João","Alexandre"),Idade=c(41,40),Salario=c(8000,9000)) write.csv2(banco2,file='~/Downloads/bancosex/banco2.csv',row.names=FALSE) banco3=data.frame(Nome=c("Angélica","Nádia"),Idade=c(40,38),Salario=c(9500,7500)) write.csv2(banco3,file='~/Downloads/bancosex/banco3.csv',row.names=FALSE) ## dir= uma string com o path para o diretório## nameBD= um vetor string com os nomes completos dos arquivos (p.ex "meuarquivo.csv") importaBD <-function(dir, nameBD){ lista<- vector(mode = "list", length =length(nameBD)) setwd(dir) for(i in 1:length(nameBD)){ lista[[i]]<-list.files(path=dir,pattern=nameBD) } arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) dados<-do.call("rbind",arquivos) print(dados) } importaBD(dir="~/Downloads/bancosex/",nameBD=c("banco1.csv","banco2.csv")) Nome Idade Salario 1 Diogo 42 5000 2 Patrícia 40 7000 3 Diogo 42 5000 4 Patrícia 40 7000 att Em seg., 18 de mai. de 2020 às 19:39, Diogo Jerônimo por (R-br) <r-br@listas.c3sl.ufpr.br> escreveu: Oi Daniel, boa noite. Esse exemplo eu dei para ilustrar, mas o meu caso é de bases de dados trimestrais em *.csv, onde cada base trimestral tem por volta de 100 Megas, bases que vem desde 2006 até 2020!!! Fora o tamanho, essas bases podem ter variáveis adicionais solicitadas pelo gestor ao longo dos anos (códigos adicionais, dado de alteração de um serviço...), e isso cria conflito se eu juntar as bases com número de colunas diferentes pelo "rbind". No meu caso, um período em que tenho dados uniformes (sem alteração do número de colunas) é entre 2017 e 2018, e nesse caso, não posso apagar e nem copiar as outras bases (por motivos de segurança). Assim, eu teria de escolher somente as bases dos trimestres dos anos que me interessam (2017 trim1,...,2018 trim4) para processar a análise estatística de interesse. Não sei se consegui ser claro, mas é isso. Obrigado!!! Diogo JerônimoBacharel em Ciências Estatísticas - ENCE/IBGEMestre em Metrologia - PUC-Rio/PósMQICONRE: 8514 - SÉRIE A Em segunda-feira, 18 de maio de 2020 18:14:38 BRT, Daniel Guimarães Tiezzi por (R-br) <r-br@listas.c3sl.ufpr.br> escreveu: Se VC sabe qual os arquivos VC precisa let, certo? Deixe somente eles no seu objeto listas. Daniel On Mon, 18 May 2020, 18:11 Mauro Sznelwar por (R-br), <r-br@listas.c3sl.ufpr.br> wrote: Tem o data set para rodar? Lista, bom dia e boa semana!!! Criei o "reproduzível" para explicar a dúvida. Nesse exemplo, de uma pasta, identifiquei arquivos "*.csv", e depois apliquei o lapply e o do.call para importar e juntar esses bancos: dir.create('c:/users/diogo/desktop/bancosex/')banco1=data.frame(cbind(c("Diogo","Patrícia"),c(42,40),c(5000,7000)))write.csv2(banco1,file='c:/users/diogo/desktop/bancosex/banco1.csv',row.names=FALSE)banco2=data.frame(cbind(c("João","Alexandre"),c(41,40),c(8000,9000))) write.csv2(banco2,file='c:/users/diogo/desktop/bancosex/banco2.csv',row.names=FALSE)banco3=data.frame(cbind(c("Angélica","Nádia"),c(40,38),c(9500,7500))) write.csv2(banco3,file='c:/users/diogo/desktop/bancosex/banco3.csv',row.names=FALSE) setwd('c:/users/diogo/desktop/bancosex/') lista<-list.files()arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) dados<-do.call("rbind", arquivos) Meu problema: esse código vai "pegar" TODOS os bancos da pasta antes de importar e juntar. Eu gostaria de pegar somente PARTE desses bancos (ex: apenas banco1 e banco2, apenas banco2 e banco3...). Alguém saberia como fazer isso? Obrigado!!! Diogo JerônimoBacharel em Ciências Estatísticas - ENCE/IBGEMestre em Metrologia - PUC-Rio/PósMQICONRE: 8514 - SÉRIE A_______________________________________________ _______________________________________________ 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. _______________________________________________ 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. -- Lattes: http://lattes.cnpq.br/6519538815038307 Blog: https://producaoanimalcomr.wordpress.com/ ==========================================

Oi Mauro, boa noite. O data set é composto de arquivos ".*csv" similares ao do exemplo que enviei. Essa é a pergunta? Obrigado!!!! Diogo JerônimoBacharel em Ciências Estatísticas - ENCE/IBGEMestre em Metrologia - PUC-Rio/PósMQICONRE: 8514 - SÉRIE AEmail: diogojose21@yahoo.com.brhttp://lattes.cnpq.br/8996149312896520 Em segunda-feira, 18 de maio de 2020 18:11:04 BRT, sznelwar@uol.com.br <sznelwar@uol.com.br> escreveu: Tem o data set para rodar? Lista, bom dia e boa semana!!! Criei o "reproduzível" para explicar a dúvida. Nesse exemplo, de uma pasta, identifiquei arquivos "*.csv", e depois apliquei o lapply e o do.call para importar e juntar esses bancos: dir.create('c:/users/diogo/desktop/bancosex/')banco1=data.frame(cbind(c("Diogo","Patrícia"),c(42,40),c(5000,7000)))write.csv2(banco1,file='c:/users/diogo/desktop/bancosex/banco1.csv',row.names=FALSE)banco2=data.frame(cbind(c("João","Alexandre"),c(41,40),c(8000,9000))) write.csv2(banco2,file='c:/users/diogo/desktop/bancosex/banco2.csv',row.names=FALSE)banco3=data.frame(cbind(c("Angélica","Nádia"),c(40,38),c(9500,7500))) write.csv2(banco3,file='c:/users/diogo/desktop/bancosex/banco3.csv',row.names=FALSE) setwd('c:/users/diogo/desktop/bancosex/') lista<-list.files()arquivos<-lapply(lista, function(x) read.csv2(x, header=TRUE, sep=";")) dados<-do.call("rbind", arquivos) Meu problema: esse código vai "pegar" TODOS os bancos da pasta antes de importar e juntar. Eu gostaria de pegar somente PARTE desses bancos (ex: apenas banco1 e banco2, apenas banco2 e banco3...). Alguém saberia como fazer isso? Obrigado!!! Diogo JerônimoBacharel em Ciências Estatísticas - ENCE/IBGEMestre em Metrologia - PUC-Rio/PósMQICONRE: 8514 - SÉRIE A_______________________________________________
participantes (5)
-
Daniel Guimarães Tiezzi
-
Diogo Jerônimo
-
Fernando H Toledo
-
Fernando Souza
-
sznelwar@uol.com.br