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: dtie...@usp.br
|
UTILITY,OPEX,NETWORK,MWH,CUSTOMERS
ELETROPAULO,1249143613,45213,39922710,5987873
CEMIG,1682334644,460219,37476802,6832546
CPFL - PAULISTA,497290782,89879,25267579,3502793
COPEL,1018866491,224817,23525040,3628209
LIGHT,557206112,58074,22902552,3640182
CELESC,721455274,144896,18105811,2237127
COELBA,436436014,215001,14286757,4622046
ELEKTRO,414602018,107116,13398558,2123670
CPFL - PIRATININGA,195789961,22236,13013378,1367488
BANDEIRANTE,286832273,27496,12536237,1482518
CELPE,350651684,120428,10001560,2994259
AMPLA ,436532756,51050,9506961,2365558
CELG,691472253,199494,9344291,2213198
RGE,186357415,84997,7993103,1226079
COELGE,316166876,120300,7929212,2744830
ESCELSA,241433335,56960,7897969,1185432
AES SUL,206122962,76133,7616460,1150518
CEEE,385990997,71892,7277929,1438072
,efficiency,OPEX,NETWORK,MWH,CUSTOMERS
ELETROPAULO,0.582702160219746,8.00548463437566e-10,0,6.07395880032605e-09,5.68170474695073e-08
CEMIG,0.579460002950355,5.94412059197896e-10,9.73842308950432e-07,3.50294748648767e-09,0
CPFL - PAULISTA,0.885425355445038,2.01089591079531e-09,0,1.52571636468669e-08,1.42718615596725e-07
COPEL,0.518585845612499,9.81482862409693e-10,7.95215875183559e-07,1.11913478098211e-08,2.10932979112844e-08
LIGHT,0.775513182914848,1.79466803838648e-09,0,1.36165894049856e-08,1.27372350065056e-07
CELESC,0.523933704627908,1.38608730996677e-09,1.28427173753081e-06,1.86596373366895e-08,0
COELBA,1,2.2912866214565e-09,1.85644351599217e-06,2.61263711215018e-08,4.92426237457295e-08
ELEKTRO,0.687899797015152,2.4119515983639e-09,1.95420854978995e-06,2.75022522262614e-08,5.1835865464813e-08
CPFL - PIRATININGA,1,5.1075141692275e-09,0,7.6843998537505e-08,0
BANDEIRANTE,0.698435209239925,3.48635803614749e-09,0,2.64518589965378e-08,2.47436075493684e-07
CELPE,0.822453789752441,2.85183287469967e-09,0,2.16375599697745e-08,2.02402142052889e-07
AMPLA ,0.549836366531714,2.29077883905693e-09,0,1.73807045101844e-08,1.62582649252678e-07
CELG,0.585646000112081,1.44618962751062e-09,2.93565721331008e-06,0,0
RGE,1,5.36603279241666e-09,8.7913252828725e-06,3.16227283611492e-08,0
COELGE,0.819757504246328,3.16288667760376e-09,0,0,2.98655109513641e-07
ESCELSA,0.669679648162759,4.14193011085234e-09,3.35586967862481e-06,4.72283136566579e-08,8.9015273829059e-08
AES SUL,0.840551995561318,4.85147307363068e-09,3.93075473239011e-06,5.53188696781534e-08,1.04264242168652e-07
CEEE,0.445970839971134,2.59073400097982e-09,2.09906141498882e-06,2.95408166542106e-08,5.56781235664104e-08
planilha.R
Description: Binary data
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 < dtie...@usp.br> escreveu: Ok, seria melhor VC enviar parte da sua planilha para podemos reproduzir o erro e resolver para VC.
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 < dtie...@usp.br> 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: dtie...@usp.br
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
> 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 <chr> <dbl> <dbl> <dbl> <dbl> 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@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.
--
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
--
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
<resultscrs.xlsx><script -seget.R><dados.xlsx><44218525.pdf><script.docx>
|
_______________________________________________
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.