도움이 될 지 안 될진 모르겠지만…

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원 겁니다-_-;) 하여튼 건투를 빕니다. 이인간이 뭔가 아는 거 같다 싶으면 말씀 주세요. 아는 데 까진 도와드리겠습니다.

    1. 다 써놓고 보니 말 트기로 했는데 ㅋㅋ