From alexandre.santos em cas.ifmt.edu.br Wed Apr 1 12:46:29 2020 From: alexandre.santos em cas.ifmt.edu.br (ASANTOS) Date: Wed, 1 Apr 2020 11:46:29 -0400 Subject: [R-br] =?utf-8?q?Criar_um_dataframe_pela_combina=C3=A7=C3=A3o_de?= =?utf-8?q?_duas_linhas_de_informa=C3=A7=C3=A3o_em_*txt?= In-Reply-To: References: Message-ID: Muito obrigado Max, genial e muito didática a sua resposta!!! Apenas mudei o final para *csv para evitar a confusão que dá no *txt entre *numeric*/*character*, sendo: filename <- myfile[1, 1] %>%   str_extract(".*:") %>%   str_remove("\\.jpg:") %>%   paste0("pred_", ., ".csv") filename # salva o arquivo write.csv(x = mydataframe, file = filename, row.names = FALSE) Achei também essa função lag() para atrasar uma linha demais! Alexandre -- Em 01/04/2020 11:00, r-br-request em listas.c3sl.ufpr.br escreveu: > Re: Criar um dataframe pela combinação de duas linhas de > informação em *txt -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From marcioboareto em gmail.com Sat Apr 4 09:02:27 2020 From: marcioboareto em gmail.com (Marcio Boareto) Date: Sat, 4 Apr 2020 09:02:27 -0300 Subject: [R-br] Subscribe - Erro ao exportar Dados para o Excel Message-ID: Bom dia Preciso gerar uma planilha em excel dos dados gerados no modelo, porém está dando erro ao tentar colocar o nome das empresas na coluna 1 da planilha, segue o script: está dando erro no comando rownames #modelo retirado do artigo disponível em: https://www.aedb.br/seget/arquivos/artigos13/44218525.pdf > require(lpSolve) # carrega pacote lpSolve previamente instalado Carregando pacotes exigidos: lpSolve > require(xlsx) # carrega pacote xlsReadWrite previamente instalado Carregando pacotes exigidos: xlsx > setwd('c:/Users/Usuário/UFG/MESTRADO 2017/MESTRADO 2019/R') # define o diretório de trabalho > library(readxl) > library(openxlsx) Attaching package: ?openxlsx? The following objects are masked from ?package:xlsx?: createWorkbook, loadWorkbook, read.xlsx, saveWorkbook, write.xlsx > library(xlsx) > dados <- read_excel("C:/Users/Usuário/UFG/MESTRADO 2017/MESTRADO 2019/R/dados.xlsx", col_names=TRUE) > View(dados) > dados # A tibble: 18 x 5 UTILITY OPEX NETWORK MWH CUSTOMERS ** ** ** ** ** 1 ELETROPAULO *1*249*143*613 *45*213 39*922*710 5*987*873 2 CEMIG *1*682*334*644 *460*219 37*476*802 6*832*546 3 CPFL - PAULISTA 497*290*782 *89*879 25*267*579 3*502*793 4 COPEL *1*018*866*491 *224*817 23*525*040 3*628*209 5 LIGHT 557*206*112 *58*074 22*902*552 3*640*182 6 CELESC 721*455*274 *144*896 18*105*811 2*237*127 7 COELBA 436*436*014 *215*001 14*286*757 4*622*046 8 ELEKTRO 414*602*018 *107*116 13*398*558 2*123*670 9 CPFL - PIRATININGA 195*789*961 *22*236 13*013*378 1*367*488 10 BANDEIRANTE 286*832*273 *27*496 12*536*237 1*482*518 11 CELPE 350*651*684 *120*428 10*001*560 2*994*259 12 AMPLA 436*532*756 *51*050 9*506*961 2*365*558 13 CELG 691*472*253 *199*494 9*344*291 2*213*198 14 RGE 186*357*415 *84*997 7*993*103 1*226*079 15 COELGE 316*166*876 *120*300 7*929*212 2*744*830 16 ESCELSA 241*433*335 *56*960 7*897*969 1*185*432 17 AES SUL 206*122*962 *76*133 7*616*460 1*150*518 18 CEEE 385*990*997 *71*892 7*277*929 1*438*072 > inputs<- data.frame(dados[,2]) # seleciona coluna 2 do objeto data > outputs <- data.frame(dados[,c(3,4,5)]) # seleciona colunas 3, 4 e 5 do objeto data > N<- dim(dados)[1] # número de DMUs > s <- dim(inputs)[2] # número de inputs > m <- dim(outputs)[2] # número de outputs > f.rhs <- c(rep(0,1,N),1) # RHS > f.dir <- c(rep("<=",1,N),"=") # direção das restrições > aux <- cbind(-1*inputs,outputs) # matriz com os coeficientes tecnológicos em (6) > for (i in 1:N) { + f.obj <- c(0*rep(1,s),as.numeric(outputs[i,])) # coeficientes da função objetivo + f.con <- rbind(aux ,c(as.numeric(inputs[i,]), + rep(0,1,m))) # adiciona a restrição bTz=1 + results <- lp("max",as.numeric(f.obj),f.con,f.dir,f.rhs,scale=1,compute.sens=TRUE) # resolve PPL + multipliers <- results$solution # multiplicadores + efficiency <- results$objval # indices de eficiência + duals <- results$duals # ??? + if (i==1) { + weights <- multipliers + effcrs <- efficiency + lambdas <- duals [seq(1,N)] + } else { + weights <- rbind(weights,multipliers) + effcrs <- rbind(effcrs , efficiency) + lambdas <- rbind(lambdas,duals[seq(1,N)]) + } + } > ################################################################### > planilha <- cbind(effcrs,weights) > #ESSA PARTE NÃO ESTÁ FUNCIONANDO################################### > rownames(planilha) <- dados [,1] # nomeas das linhas (empresas) Error in dimnames(x) <- dn : comprimento de 'dimnames' [1] não é igual ao tamanho do array Segue a planilha gerada, na coluna A preciso constar os nomes da coluna A (UTILITY) efficiency OPEX NETWORK MWH CUSTOMERS effcrs 0,58270216 8,00548E-10 0 6,07396E-09 5,6817E-08 efficiency 0,579460003 5,94412E-10 9,73842E-07 3,50295E-09 0 efficiency.1 0,885425355 2,0109E-09 0 1,52572E-08 1,42719E-07 efficiency.2 0,518585846 9,81483E-10 7,95216E-07 1,11913E-08 2,10933E-08 efficiency.3 0,775513183 1,79467E-09 0 1,36166E-08 1,27372E-07 efficiency.4 0,523933705 1,38609E-09 1,28427E-06 1,86596E-08 0 efficiency.5 1 2,29129E-09 1,85644E-06 2,61264E-08 4,92426E-08 efficiency.6 0,687899797 2,41195E-09 1,95421E-06 2,75023E-08 5,18359E-08 efficiency.7 1 5,10751E-09 0 7,6844E-08 0 efficiency.8 0,698435209 3,48636E-09 0 2,64519E-08 2,47436E-07 efficiency.9 0,82245379 2,85183E-09 0 2,16376E-08 2,02402E-07 efficiency.10 0,549836367 2,29078E-09 0 1,73807E-08 1,62583E-07 efficiency.11 0,585646 1,44619E-09 2,93566E-06 0 0 efficiency.12 1 5,36603E-09 8,79133E-06 3,16227E-08 0 efficiency.13 0,819757504 3,16289E-09 0 0 2,98655E-07 efficiency.14 0,669679648 4,14193E-09 3,35587E-06 4,72283E-08 8,90153E-08 efficiency.15 0,840551996 4,85147E-09 3,93075E-06 5,53189E-08 1,04264E-07 efficiency.16 0,44597084 2,59073E-09 2,09906E-06 2,95408E-08 5,56781E-08 Se puderem ajudar, fico agradecido. Atenciosamente Márcio Boareto > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From dtiezzi em usp.br Sat Apr 4 09:48:57 2020 From: dtiezzi em usp.br (=?utf-8?Q?Daniel_Guimar=C3=A3es_Tiezzi?=) Date: Sat, 4 Apr 2020 09:48:57 -0300 Subject: [R-br] Subscribe - Erro ao exportar Dados para o Excel In-Reply-To: References: Message-ID: <48005CF4-BC2A-482F-8F22-619C039A5339@usp.br> Bom dia O erro gerado diz que a dimensão do objeto que você está tentando inserir como rownames do seu dataframe são diferentes. Verifique isso: > dim(planilha)[1] > length(dados [ ,1]) Esses valoras devem ser iguais. Daniel Daniel Tiezzi, MD, PhD Oncologia / Mastologia Professor Associado - Livre Docente Departamento de Ginecologia e Obstetrícia Setor de Mastologia e Oncologia Ginecológica Faculdade de Medicina de Ribeirão Preto - USP Tel.: 16 3602-2488 e-mail: dtiezzi em usp.br > On 4 Apr 2020, at 09:02, Marcio Boareto por (R-br) wrote: > > Bom dia > > Preciso gerar uma planilha em excel dos dados gerados no modelo, porém está dando erro ao tentar colocar o nome das empresas na coluna 1 da planilha, segue o script: está dando erro no comando rownames > > #modelo retirado do artigo disponível em: https://www.aedb.br/seget/arquivos/artigos13/44218525.pdf > > require(lpSolve) # carrega pacote lpSolve previamente instalado > Carregando pacotes exigidos: lpSolve > > require(xlsx) # carrega pacote xlsReadWrite previamente instalado > Carregando pacotes exigidos: xlsx > > setwd('c:/Users/Usuário/UFG/MESTRADO 2017/MESTRADO 2019/R') # define o diretório de trabalho > > library(readxl) > > library(openxlsx) > > Attaching package: ?openxlsx? > > The following objects are masked from ?package:xlsx?: > > createWorkbook, loadWorkbook, read.xlsx, saveWorkbook, write.xlsx > > > library(xlsx) > > dados <- read_excel("C:/Users/Usuário/UFG/MESTRADO 2017/MESTRADO 2019/R/dados.xlsx", col_names=TRUE) > > View(dados) > > dados > # A tibble: 18 x 5 > UTILITY OPEX NETWORK MWH CUSTOMERS > > 1 ELETROPAULO 1249143613 45213 39922710 5987873 > 2 CEMIG 1682334644 460219 37476802 6832546 > 3 CPFL - PAULISTA 497290782 89879 25267579 3502793 > 4 COPEL 1018866491 224817 23525040 3628209 > 5 LIGHT 557206112 58074 22902552 3640182 > 6 CELESC 721455274 144896 18105811 2237127 > 7 COELBA 436436014 215001 14286757 4622046 > 8 ELEKTRO 414602018 107116 13398558 2123670 > 9 CPFL - PIRATININGA 195789961 22236 13013378 1367488 > 10 BANDEIRANTE 286832273 27496 12536237 1482518 > 11 CELPE 350651684 120428 10001560 2994259 > 12 AMPLA 436532756 51050 9506961 2365558 > 13 CELG 691472253 199494 9344291 2213198 > 14 RGE 186357415 84997 7993103 1226079 > 15 COELGE 316166876 120300 7929212 2744830 > 16 ESCELSA 241433335 56960 7897969 1185432 > 17 AES SUL 206122962 76133 7616460 1150518 > 18 CEEE 385990997 71892 7277929 1438072 > > inputs<- data.frame(dados[,2]) # seleciona coluna 2 do objeto data > > outputs <- data.frame(dados[,c(3,4,5)]) # seleciona colunas 3, 4 e 5 do objeto data > > N<- dim(dados)[1] # número de DMUs > > s <- dim(inputs)[2] # número de inputs > > m <- dim(outputs)[2] # número de outputs > > f.rhs <- c(rep(0,1,N),1) # RHS > > f.dir <- c(rep("<=",1,N),"=") # direção das restrições > > aux <- cbind(-1*inputs,outputs) # matriz com os coeficientes tecnológicos em (6) > > for (i in 1:N) { > + f.obj <- c(0*rep(1,s),as.numeric(outputs[i,])) # coeficientes da função objetivo > + f.con <- rbind(aux ,c(as.numeric(inputs[i,]), + rep(0,1,m))) # adiciona a restrição bTz=1 > + results <- lp("max",as.numeric(f.obj),f.con,f.dir,f.rhs,scale=1,compute.sens=TRUE) # resolve PPL > + multipliers <- results$solution # multiplicadores > + efficiency <- results$objval # indices de eficiência > + duals <- results$duals # ??? > + if (i==1) { > + weights <- multipliers > + effcrs <- efficiency > + lambdas <- duals [seq(1,N)] > + } else { > + weights <- rbind(weights,multipliers) > + effcrs <- rbind(effcrs , efficiency) > + lambdas <- rbind(lambdas,duals[seq(1,N)]) > + } > + } > > ################################################################### > > planilha <- cbind(effcrs,weights) > > #ESSA PARTE NÃO ESTÁ FUNCIONANDO################################### > > rownames(planilha) <- dados [,1] # nomeas das linhas (empresas) > Error in dimnames(x) <- dn : > comprimento de 'dimnames' [1] não é igual ao tamanho do array > > Segue a planilha gerada, na coluna A preciso constar os nomes da coluna A (UTILITY) > efficiency OPEX NETWORK MWH CUSTOMERS > effcrs 0,58270216 8,00548E-10 0 6,07396E-09 5,6817E-08 > efficiency 0,579460003 5,94412E-10 9,73842E-07 3,50295E-09 0 > efficiency.1 0,885425355 2,0109E-09 0 1,52572E-08 1,42719E-07 > efficiency.2 0,518585846 9,81483E-10 7,95216E-07 1,11913E-08 2,10933E-08 > efficiency.3 0,775513183 1,79467E-09 0 1,36166E-08 1,27372E-07 > efficiency.4 0,523933705 1,38609E-09 1,28427E-06 1,86596E-08 0 > efficiency.5 1 2,29129E-09 1,85644E-06 2,61264E-08 4,92426E-08 > efficiency.6 0,687899797 2,41195E-09 1,95421E-06 2,75023E-08 5,18359E-08 > efficiency.7 1 5,10751E-09 0 7,6844E-08 0 > efficiency.8 0,698435209 3,48636E-09 0 2,64519E-08 2,47436E-07 > efficiency.9 0,82245379 2,85183E-09 0 2,16376E-08 2,02402E-07 > efficiency.10 0,549836367 2,29078E-09 0 1,73807E-08 1,62583E-07 > efficiency.11 0,585646 1,44619E-09 2,93566E-06 0 0 > efficiency.12 1 5,36603E-09 8,79133E-06 3,16227E-08 0 > efficiency.13 0,819757504 3,16289E-09 0 0 2,98655E-07 > efficiency.14 0,669679648 4,14193E-09 3,35587E-06 4,72283E-08 8,90153E-08 > efficiency.15 0,840551996 4,85147E-09 3,93075E-06 5,53189E-08 1,04264E-07 > efficiency.16 0,44597084 2,59073E-09 2,09906E-06 2,95408E-08 5,56781E-08 > > Se puderem ajudar, fico agradecido. > Atenciosamente > > Márcio Boareto > > > > _______________________________________________ > 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. -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From marcioboareto em gmail.com Sat Apr 4 10:16:58 2020 From: marcioboareto em gmail.com (Marcio Boareto) Date: Sat, 4 Apr 2020 10:16:58 -0300 Subject: [R-br] Subscribe - Erro ao exportar Dados para o Excel In-Reply-To: <48005CF4-BC2A-482F-8F22-619C039A5339@usp.br> References: <48005CF4-BC2A-482F-8F22-619C039A5339@usp.br> Message-ID: Bom dia Prezado Prof Daniel Não consegui resolver e o erro ainda persiste. Estou aprendo recentemente a usar o R para cálculo de eficiência em análise envoltória de dados, estou com dificuldades em exportar os resultados para uma planilha. Muito obrigado pela ajuda! Em sáb., 4 de abr. de 2020 às 09:49, Daniel Guimarães Tiezzi escreveu: > Bom dia > > O erro gerado diz que a dimensão do objeto que você está tentando inserir > como rownames do seu dataframe são diferentes. > > Verifique isso: > > > dim(planilha)[1] > > length(dados [ ,1]) > > Esses valoras devem ser iguais. > > Daniel > > > > Daniel Tiezzi, MD, PhD > Oncologia / Mastologia > Professor Associado - Livre Docente > Departamento de Ginecologia e Obstetrícia > Setor de Mastologia e Oncologia Ginecológica > Faculdade de Medicina de Ribeirão Preto - USP > Tel.: 16 3602-2488 > e-mail: dtiezzi em usp.br > > > > On 4 Apr 2020, at 09:02, Marcio Boareto por (R-br) < > r-br em listas.c3sl.ufpr.br> wrote: > > Bom dia > > Preciso gerar uma planilha em excel dos dados gerados no modelo, porém > está dando erro ao tentar colocar o nome das empresas na coluna 1 da > planilha, segue o script: está dando erro no comando rownames > > #modelo retirado do artigo disponível em: > https://www.aedb.br/seget/arquivos/artigos13/44218525.pdf > > require(lpSolve) # carrega pacote lpSolve previamente instalado > Carregando pacotes exigidos: lpSolve > > require(xlsx) # carrega pacote xlsReadWrite previamente instalado > Carregando pacotes exigidos: xlsx > > setwd('c:/Users/Usuário/UFG/MESTRADO 2017/MESTRADO 2019/R') # define o > diretório de trabalho > > library(readxl) > > library(openxlsx) > > > Attaching package: ?openxlsx? > > > The following objects are masked from ?package:xlsx?: > > > createWorkbook, loadWorkbook, read.xlsx, saveWorkbook, write.xlsx > > > > library(xlsx) > > dados <- read_excel("C:/Users/Usuário/UFG/MESTRADO 2017/MESTRADO > 2019/R/dados.xlsx", col_names=TRUE) > > View(dados) > > dados > # A tibble: 18 x 5 > UTILITY OPEX NETWORK MWH CUSTOMERS > ** ** ** ** ** > 1 ELETROPAULO *1*249*143*613 *45*213 39*922*710 5*987*873 > 2 CEMIG *1*682*334*644 *460*219 37*476*802 6*832*546 > 3 CPFL - PAULISTA 497*290*782 *89*879 25*267*579 3*502*793 > 4 COPEL *1*018*866*491 *224*817 23*525*040 3*628*209 > 5 LIGHT 557*206*112 *58*074 22*902*552 3*640*182 > 6 CELESC 721*455*274 *144*896 18*105*811 2*237*127 > 7 COELBA 436*436*014 *215*001 14*286*757 4*622*046 > 8 ELEKTRO 414*602*018 *107*116 13*398*558 2*123*670 > 9 CPFL - PIRATININGA 195*789*961 *22*236 13*013*378 1*367*488 > 10 BANDEIRANTE 286*832*273 *27*496 12*536*237 1*482*518 > 11 CELPE 350*651*684 *120*428 10*001*560 2*994*259 > 12 AMPLA 436*532*756 *51*050 9*506*961 2*365*558 > 13 CELG 691*472*253 *199*494 9*344*291 2*213*198 > 14 RGE 186*357*415 *84*997 7*993*103 1*226*079 > 15 COELGE 316*166*876 *120*300 7*929*212 2*744*830 > 16 ESCELSA 241*433*335 *56*960 7*897*969 1*185*432 > 17 AES SUL 206*122*962 *76*133 7*616*460 1*150*518 > 18 CEEE 385*990*997 *71*892 7*277*929 1*438*072 > > inputs<- data.frame(dados[,2]) # seleciona coluna 2 do objeto data > > outputs <- data.frame(dados[,c(3,4,5)]) # seleciona colunas 3, 4 e 5 do > objeto data > > N<- dim(dados)[1] # número de DMUs > > s <- dim(inputs)[2] # número de inputs > > m <- dim(outputs)[2] # número de outputs > > f.rhs <- c(rep(0,1,N),1) # RHS > > f.dir <- c(rep("<=",1,N),"=") # direção das restrições > > aux <- cbind(-1*inputs,outputs) # matriz com os coeficientes > tecnológicos em (6) > > for (i in 1:N) { > + f.obj <- c(0*rep(1,s),as.numeric(outputs[i,])) # coeficientes da > função objetivo > + f.con <- rbind(aux ,c(as.numeric(inputs[i,]), + rep(0,1,m))) # > adiciona a restrição bTz=1 > + results <- > lp("max",as.numeric(f.obj),f.con,f.dir,f.rhs,scale=1,compute.sens=TRUE) # > resolve PPL > + multipliers <- results$solution # multiplicadores > + efficiency <- results$objval # indices de eficiência > + duals <- results$duals # ??? > + if (i==1) { > + weights <- multipliers > + effcrs <- efficiency > + lambdas <- duals [seq(1,N)] > + } else { > + weights <- rbind(weights,multipliers) > + effcrs <- rbind(effcrs , efficiency) > + lambdas <- rbind(lambdas,duals[seq(1,N)]) > + } > + } > > ################################################################### > > planilha <- cbind(effcrs,weights) > > #ESSA PARTE NÃO ESTÁ FUNCIONANDO################################### > > rownames(planilha) <- dados [,1] # nomeas das linhas (empresas) > Error in dimnames(x) <- dn : > comprimento de 'dimnames' [1] não é igual ao tamanho do array > > Segue a planilha gerada, na coluna A preciso constar os nomes da coluna A > (UTILITY) > efficiency OPEX NETWORK MWH CUSTOMERS > effcrs 0,58270216 8,00548E-10 0 6,07396E-09 5,6817E-08 > efficiency 0,579460003 5,94412E-10 9,73842E-07 3,50295E-09 0 > efficiency.1 0,885425355 2,0109E-09 0 1,52572E-08 1,42719E-07 > efficiency.2 0,518585846 9,81483E-10 7,95216E-07 1,11913E-08 2,10933E-08 > efficiency.3 0,775513183 1,79467E-09 0 1,36166E-08 1,27372E-07 > efficiency.4 0,523933705 1,38609E-09 1,28427E-06 1,86596E-08 0 > efficiency.5 1 2,29129E-09 1,85644E-06 2,61264E-08 4,92426E-08 > efficiency.6 0,687899797 2,41195E-09 1,95421E-06 2,75023E-08 5,18359E-08 > efficiency.7 1 5,10751E-09 0 7,6844E-08 0 > efficiency.8 0,698435209 3,48636E-09 0 2,64519E-08 2,47436E-07 > efficiency.9 0,82245379 2,85183E-09 0 2,16376E-08 2,02402E-07 > efficiency.10 0,549836367 2,29078E-09 0 1,73807E-08 1,62583E-07 > efficiency.11 0,585646 1,44619E-09 2,93566E-06 0 0 > efficiency.12 1 5,36603E-09 8,79133E-06 3,16227E-08 0 > efficiency.13 0,819757504 3,16289E-09 0 0 2,98655E-07 > efficiency.14 0,669679648 4,14193E-09 3,35587E-06 4,72283E-08 8,90153E-08 > efficiency.15 0,840551996 4,85147E-09 3,93075E-06 5,53189E-08 1,04264E-07 > efficiency.16 0,44597084 2,59073E-09 2,09906E-06 2,95408E-08 5,56781E-08 > Se puderem ajudar, fico agradecido. > Atenciosamente > > Márcio Boareto > > > > > _______________________________________________ > 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. > > > -- *Márcio Boareto* *Administrador * *CRA-GO 15993* *Mestre em Gestão Organizacional pela UFG Catalão.* *Especialista em Gestão Financeira e Controladoria - UFG Catalão* *Graduado em Administração de Empresas - UFG Catalão* *64 98137-9049 whatsapp* *Lattes*:http://lattes.cnpq.br/8524063708922235 *ORCID: **https://orcid.org/0000-0003-0398-8774 * -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From dtiezzi em usp.br Sat Apr 4 11:02:11 2020 From: dtiezzi em usp.br (=?utf-8?Q?Daniel_Guimar=C3=A3es_Tiezzi?=) Date: Sat, 4 Apr 2020 11:02:11 -0300 Subject: [R-br] Subscribe - Erro ao exportar Dados para o Excel In-Reply-To: References: <48005CF4-BC2A-482F-8F22-619C039A5339@usp.br> Message-ID: <807518AB-EC7C-4286-B65E-D0A4DB44D0C6@usp.br> Bom dia Marcio Segue o código e a planilha final. Eu só converti a sua table dados para o formato CSV pois não tenho instalado o pacote xlsx. Eu fiz isso no Excel mesmo. Veja se ficou OK. Daniel Daniel Tiezzi, MD, PhD Oncologia / Mastologia Professor Associado - Livre Docente Departamento de Ginecologia e Obstetrícia Setor de Mastologia e Oncologia Ginecológica Faculdade de Medicina de Ribeirão Preto - USP Tel.: 16 3602-2488 e-mail: dtiezzi em usp.br > On 4 Apr 2020, at 10:31, Marcio Boareto wrote: > > Prezado Prof Daniel > > > Ficaria muito agradecido se puder me ajudar. > Segue a planilha "dados", os resultados, o artigo e o script do R studio, se tiver como reproduzir. > > O artigo onde estou tentando reproduzir o modelo (está dando erro, pois o pacote de leitura da planilha foi descontinuado (xlsReadWrite) e estou tentando utilizar outro pacote para exportar o modelo para uma planilha. > > > > > Desde já agradeço vossa atenção. > > > > > Em sáb., 4 de abr. de 2020 às 10:22, Daniel Guimarães Tiezzi > escreveu: > Ok, seria melhor VC enviar parte da sua planilha para podemos reproduzir o erro e resolver para VC. > > > On Sat, 4 Apr 2020, 10:17 Marcio Boareto, > wrote: > Bom dia > > Prezado Prof Daniel > > Não consegui resolver e o erro ainda persiste. Estou aprendo recentemente a usar o R para cálculo de eficiência em análise envoltória de dados, estou com dificuldades em exportar os resultados para uma planilha. > > Muito obrigado pela ajuda! > > Em sáb., 4 de abr. de 2020 às 09:49, Daniel Guimarães Tiezzi > escreveu: > Bom dia > > O erro gerado diz que a dimensão do objeto que você está tentando inserir como rownames do seu dataframe são diferentes. > > Verifique isso: > > > dim(planilha)[1] > > length(dados [ ,1]) > > Esses valoras devem ser iguais. > > Daniel > > > > Daniel Tiezzi, MD, PhD > Oncologia / Mastologia > Professor Associado - Livre Docente > Departamento de Ginecologia e Obstetrícia > Setor de Mastologia e Oncologia Ginecológica > Faculdade de Medicina de Ribeirão Preto - USP > Tel.: 16 3602-2488 > e-mail: dtiezzi em usp.br > > > >> On 4 Apr 2020, at 09:02, Marcio Boareto por (R-br) > wrote: >> >> Bom dia >> >> Preciso gerar uma planilha em excel dos dados gerados no modelo, porém está dando erro ao tentar colocar o nome das empresas na coluna 1 da planilha, segue o script: está dando erro no comando rownames >> >> #modelo retirado do artigo disponível em: https://www.aedb.br/seget/arquivos/artigos13/44218525.pdf >> > require(lpSolve) # carrega pacote lpSolve previamente instalado >> Carregando pacotes exigidos: lpSolve >> > require(xlsx) # carrega pacote xlsReadWrite previamente instalado >> Carregando pacotes exigidos: xlsx >> > setwd('c:/Users/Usuário/UFG/MESTRADO 2017/MESTRADO 2019/R') # define o diretório de trabalho >> > library(readxl) >> > library(openxlsx) >> >> Attaching package: ?openxlsx? >> >> The following objects are masked from ?package:xlsx?: >> >> createWorkbook, loadWorkbook, read.xlsx, saveWorkbook, write.xlsx >> >> > library(xlsx) >> > dados <- read_excel("C:/Users/Usuário/UFG/MESTRADO 2017/MESTRADO 2019/R/dados.xlsx", col_names=TRUE) >> > View(dados) >> > dados >> # A tibble: 18 x 5 >> UTILITY OPEX NETWORK MWH CUSTOMERS >> >> 1 ELETROPAULO 1249143613 45213 39922710 5987873 >> 2 CEMIG 1682334644 460219 37476802 6832546 >> 3 CPFL - PAULISTA 497290782 89879 25267579 3502793 >> 4 COPEL 1018866491 224817 23525040 3628209 >> 5 LIGHT 557206112 58074 22902552 3640182 >> 6 CELESC 721455274 144896 18105811 2237127 >> 7 COELBA 436436014 215001 14286757 4622046 >> 8 ELEKTRO 414602018 107116 13398558 2123670 >> 9 CPFL - PIRATININGA 195789961 22236 13013378 1367488 >> 10 BANDEIRANTE 286832273 27496 12536237 1482518 >> 11 CELPE 350651684 120428 10001560 2994259 >> 12 AMPLA 436532756 51050 9506961 2365558 >> 13 CELG 691472253 199494 9344291 2213198 >> 14 RGE 186357415 84997 7993103 1226079 >> 15 COELGE 316166876 120300 7929212 2744830 >> 16 ESCELSA 241433335 56960 7897969 1185432 >> 17 AES SUL 206122962 76133 7616460 1150518 >> 18 CEEE 385990997 71892 7277929 1438072 >> > inputs<- data.frame(dados[,2]) # seleciona coluna 2 do objeto data >> > outputs <- data.frame(dados[,c(3,4,5)]) # seleciona colunas 3, 4 e 5 do objeto data >> > N<- dim(dados)[1] # número de DMUs >> > s <- dim(inputs)[2] # número de inputs >> > m <- dim(outputs)[2] # número de outputs >> > f.rhs <- c(rep(0,1,N),1) # RHS >> > f.dir <- c(rep("<=",1,N),"=") # direção das restrições >> > aux <- cbind(-1*inputs,outputs) # matriz com os coeficientes tecnológicos em (6) >> > for (i in 1:N) { >> + f.obj <- c(0*rep(1,s),as.numeric(outputs[i,])) # coeficientes da função objetivo >> + f.con <- rbind(aux ,c(as.numeric(inputs[i,]), + rep(0,1,m))) # adiciona a restrição bTz=1 >> + results <- lp("max",as.numeric(f.obj),f.con,f.dir,f.rhs,scale=1,compute.sens=TRUE) # resolve PPL >> + multipliers <- results$solution # multiplicadores >> + efficiency <- results$objval # indices de eficiência >> + duals <- results$duals # ??? >> + if (i==1) { >> + weights <- multipliers >> + effcrs <- efficiency >> + lambdas <- duals [seq(1,N)] >> + } else { >> + weights <- rbind(weights,multipliers) >> + effcrs <- rbind(effcrs , efficiency) >> + lambdas <- rbind(lambdas,duals[seq(1,N)]) >> + } >> + } >> > ################################################################### >> > planilha <- cbind(effcrs,weights) >> > #ESSA PARTE NÃO ESTÁ FUNCIONANDO################################### >> > rownames(planilha) <- dados [,1] # nomeas das linhas (empresas) >> Error in dimnames(x) <- dn : >> comprimento de 'dimnames' [1] não é igual ao tamanho do array >> >> Segue a planilha gerada, na coluna A preciso constar os nomes da coluna A (UTILITY) >> efficiency OPEX NETWORK MWH CUSTOMERS >> effcrs 0,58270216 8,00548E-10 0 6,07396E-09 5,6817E-08 >> efficiency 0,579460003 5,94412E-10 9,73842E-07 3,50295E-09 0 >> efficiency.1 0,885425355 2,0109E-09 0 1,52572E-08 1,42719E-07 >> efficiency.2 0,518585846 9,81483E-10 7,95216E-07 1,11913E-08 2,10933E-08 >> efficiency.3 0,775513183 1,79467E-09 0 1,36166E-08 1,27372E-07 >> efficiency.4 0,523933705 1,38609E-09 1,28427E-06 1,86596E-08 0 >> efficiency.5 1 2,29129E-09 1,85644E-06 2,61264E-08 4,92426E-08 >> efficiency.6 0,687899797 2,41195E-09 1,95421E-06 2,75023E-08 5,18359E-08 >> efficiency.7 1 5,10751E-09 0 7,6844E-08 0 >> efficiency.8 0,698435209 3,48636E-09 0 2,64519E-08 2,47436E-07 >> efficiency.9 0,82245379 2,85183E-09 0 2,16376E-08 2,02402E-07 >> efficiency.10 0,549836367 2,29078E-09 0 1,73807E-08 1,62583E-07 >> efficiency.11 0,585646 1,44619E-09 2,93566E-06 0 0 >> efficiency.12 1 5,36603E-09 8,79133E-06 3,16227E-08 0 >> efficiency.13 0,819757504 3,16289E-09 0 0 2,98655E-07 >> efficiency.14 0,669679648 4,14193E-09 3,35587E-06 4,72283E-08 8,90153E-08 >> efficiency.15 0,840551996 4,85147E-09 3,93075E-06 5,53189E-08 1,04264E-07 >> efficiency.16 0,44597084 2,59073E-09 2,09906E-06 2,95408E-08 5,56781E-08 >> >> Se puderem ajudar, fico agradecido. >> Atenciosamente >> >> Márcio Boareto >> > >> >> _______________________________________________ >> 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. > > > > -- > Márcio Boareto > Administrador > CRA-GO 15993 > Mestre em Gestão Organizacional pela UFG Catalão. > Especialista em Gestão Financeira e Controladoria - UFG Catalão > Graduado em Administração de Empresas - UFG Catalão > 64 98137-9049 whatsapp > Lattes:http://lattes.cnpq.br/8524063708922235 > ORCID: https://orcid.org/0000-0003-0398-8774 > > > > > -- > Márcio Boareto > Administrador > CRA-GO 15993 > Mestre em Gestão Organizacional pela UFG Catalão. > Especialista em Gestão Financeira e Controladoria - UFG Catalão > Graduado em Administração de Empresas - UFG Catalão > 64 98137-9049 whatsapp > Lattes:http://lattes.cnpq.br/8524063708922235 > ORCID: https://orcid.org/0000-0003-0398-8774 > > >