install.packages(“Benchmarking”)
일단 제일 만만한 DEA 예제
library(Benchmarking)
## Loading required package: lpSolveAPI
## Loading required package: ucminf
x <- matrix(c(100,200,300,500,100,200,600),ncol=1)
y <- matrix(c(75,100,300,400,25,50,400),ncol=1)
dea.plot.frontier(x,y,txt=TRUE)
제가 fear 패키지를 안 써봐서 잘 모르겠지만 뭐가 됐든지간에 다음과 같이 dea 결과물을 객체에 저장할겁니다. 여기서는 x, y dea 돌린 결과를 e에 때려넣습니다.
e <- dea(x,y)
뭐 그런 결과를 e로 출력하거나 summary를 쓰겠죠.
e
## [1] 1.0000 0.6111 1.0000 1.0000 1.0000 0.5000 0.8333
summary(e)
## Summary of efficiencies
## The technology is vrs and input orientated efficiency
## Number of firms with efficiency==1 are 4
## Mean efficiency: 0.849
## ---
## Eff range # %
## 0.5<= E <0.6 1 14
## 0.6<= E <0.7 1 14
## 0.7<= E <0.8 0 0
## 0.8<= E <0.9 1 14
## 0.9<= E <1 0 0
## E ==1 4 57
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.5000 0.7222 1.0000 0.8492 1.0000 1.0000
아시겠지만 이러한 결과물은 e안에 객체로 저장되어있을겁니다. 그 객체가 어떻게 저장되어있는지는 ls()명령어로 볼 수 있을거에요.
ls(e) ##e가 가지고 있는 객체들을 다 보여달라.
## [1] "dual" "eff" "gamma" "lambda" "objval"
## [6] "ORIENTATION" "param" "primal" "RTS" "TRANSPOSE"
## [11] "ux" "vy"
그럼 이제 이런 애들은 $ 붙여서 불러오면 됩니다. 예를들어 계수들을 불러오고싶다 하면 e $ eff e $ lambda 로 쓰는 것 처럼요.
e$eff
## [1] 1.0000000 0.6111111 1.0000000 1.0000000 1.0000000 0.5000000 0.8333333
e$lambda
## L1 L2 L3 L4 L5 L6 L7
## [1,] 1.0000000 0 0.0000000 0 0 0 0
## [2,] 0.8888889 0 0.1111111 0 0 0 0
## [3,] 0.0000000 0 1.0000000 0 0 0 0
## [4,] 0.0000000 0 0.0000000 1 0 0 0
## [5,] 1.0000000 0 0.0000000 0 0 0 0
## [6,] 1.0000000 0 0.0000000 0 0 0 0
## [7,] 0.0000000 0 0.0000000 1 0 0 0
모르긴 몰라도 fear 패키지의 결과물도 모두 객체로 저렇게 저장이 될 겁니다. fear의 결과가 저장되는 객체에 ls 명령어 넣으면 어제 말씀하신 ’1단계’의 결과물이 어딘가 저장이 되어있을거에요. 그것만 찾아낸 다음에 lm을 쓰시든 glm을 쓰시든 아니면 다른 부트스트래핑 패키지를 같이 쓰시면 어떻게 될 거 같은데요. 혹시 ls(객체)로 답이 안 나오시면 ls(summary(객체))도 해 보세요. lm 의 결과물 저장하면 저 두 가지 결과가 서로 다르거든요.
제가 부트스트래핑 패키지는 써 보지 않았습니다. 반복문 처리 하실거면 plyr 패키지의 ddply쓰시는걸 권합니다. 이넘은 주어진 데이터에서 카테고리 변수로 정의된 그룹별로 동일한 함수를 적용해서 결과를 뽑아주는 함수입니다. 이넘이 좋은 게, 함수에 뭐든 다 넣을 수 있어요. 심지어 lm, glm도요.
도움이 될 진 모르겠는데(이미 알고 계신 기능이란데 500원 겁니다-_-;) 하여튼 건투를 빕니다. 이인간이 뭔가 아는 거 같다 싶으면 말씀 주세요. 아는 데 까진 도와드리겠습니다.