
Boa tarde pessoal, Tenho inúmeros arquivos dpt que podem ser lidos com txt e gostaria de fazer o seguinte, ler os dados que são apenas uma coluna em cada arquivo e transpor eles, em seguida, pegar o nome do arquivo e a cada _ criar uma nova coluna, sendo um arquivo: Cupim%20Syntermes_COLONIA%201_operario_1_c1_140616.dpt Gostaria que a última coluna fosse os dados transpostos no arquivo e as colunas fosse: Cupim%20Syntermes, COLONIA%20, operario, 1, c1 e 140616. Segue CRM com três arquivos: #------------------------------------------------------------------------------- ### Download a partir de uma lista de links com os arquivos #------------------------------------------------------------------------------- # ### Obtenção de links links <- c( "https://www.dropbox.com/s/l5ofrqw01tnfmmv/Cupim%20Syntermes_COLONIA%201_oper...", "https://www.dropbox.com/s/tkxkov16z813oc6/Cupim%20Syntermes_COLONIA%201_oper...", "https://www.dropbox.com/s/hjcmw9qutwwolo0/Cupim%20Syntermes_COLONIA%201_oper...") tokens <- gsub("^.*/s/","",dirname(links)) fileNames <- basename(links) newLinks <- file.path("http://dl.dropbox.com/s", tokens, fileNames); newLinks for (a in newLinks) { tryCatch(download.file(a, dest=basename(a), mode='wb'), error=function(...) print("Falha no download!"))} ### Verificando arquivos baixados corretamente ############################################################################## fileInfo <- file.info(fileNames); fileInfo ### observe o segundo arquivo files.OK <- fileNames[fileInfo$size>0 & !is.na(fileInfo$size)]; files.OK ### Operando arquivos baixados corretamente ############################################################################## for (b in files.OK) { t <- strsplit(b,"_|\\.")[[1]][2] XYZ <- data.frame(rep(t),t(b[b[,1],])) outName <- paste0('XYZ-', t, '.txt') write.table(XYZ, file ="termiteNIR.mod", row.names=F,append=T) message(noquote(paste(outName, "salvo em", getwd()))) } #</code> -- ====================================================================== Alexandre dos Santos Proteção Florestal IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso Campus Cáceres Caixa Postal 244 Avenida dos Ramires, s/n Bairro: Distrito Industrial Cáceres - MT CEP: 78.200-000 Fone: (+55) 65 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO) e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 ======================================================================