Type: | Package |
Title: | Transitive Index Numbers for Cross-Sections and Panel Data |
Version: | 2.0 |
Date: | 2025-05-02 |
Maintainer: | Edoardo Baldoni <edoardo.baldoni@gmail.com> |
Description: | Computing transitive (and non-transitive) index numbers (Coelli et al., 2005 <doi:10.1007/b136381>) for cross-sections and panel data. For the calculation of transitive indexes, the EKS (Coelli et al., 2005 <doi:10.1007/b136381>; Rao et al., 2002 <doi:10.1007/978-1-4615-0851-9_4>) and Minimum spanning tree (Hill, 2004 <doi:10.1257/0002828043052178>) methods are implemented. Traditional fixed-base and chained indexes, and their growth rates, can also be derived using the Paasche, Laspeyres, Fisher and Tornqvist formulas. |
License: | GPL-3 |
Imports: | parallel, ape, igraph |
Suggests: | lattice |
LazyData: | TRUE |
NeedsCompilation: | no |
Packaged: | 2025-05-02 12:35:13 UTC; edoar |
Author: | Edoardo Baldoni [aut, cre] |
Repository: | CRAN |
Date/Publication: | 2025-05-02 14:20:02 UTC |
Transitive Index Numbers for Cross-Sections and Panel Data
Description
Computing transitive (and non-transitive) index numbers (Coelli et al., 2005 <doi:10.1007/b136381>) for cross-sections and panel data. For the calculation of transitive indexes, the EKS (Coelli et al., 2005 <doi:10.1007/b136381>; Rao et al., 2002 <doi:10.1007/978-1-4615-0851-9_4>) and Minimum spanning tree (Hill, 2004 <doi:10.1257/0002828043052178>) methods are implemented. Traditional fixed-base and chained indexes, and their growth rates, can also be derived using the Paasche, Laspeyres, Fisher and Tornqvist formulas.
Details
The DESCRIPTION file:
This package was not yet installed at build time.
Index of help topics:
I_nt Matrix of bilateral Fisher fixed-base comparisons billy_inp_p Billy's Bus Company Data: Inputs Prices billy_inp_q Billy's Bus Company Data: Inputs Quantities billy_out_p Billy's Bus Company Data: Outputs Prices billy_out_q Billy's Bus Company Data: Outputs Quantities chaining Generate chained index numbers dat.p Transitive Indexes in Panel Data: Simulated Regional Data on Labor Inputs Prices dat.q Transitive Indexes in Panel Data: Simulated Regional Data on Labor Inputs Quantities eks eks: transforming a non-transitive index number matrix into a transitive one growth Compute growth rates of indexes indexes indexes: create fixed-base or chained index numbers multicomp multicomp multicompPAR multicompPAR multilateral multilateral: generate transitive index numbers for cross-sections and panel data multilaterals Transitive Index Numbers for Cross-Sections and Panel Data rail_out_p Australian National Railways Data: Output Prices rail_out_q Australian National Railways Data: Output Quantities
Author(s)
Edoardo Baldoni [aut, cre]
Maintainer: Edoardo Baldoni <edoardo.baldoni@gmail.com>
References
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnel, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.
R. J. Hill. Constructing price indexes across space and time: The case of the European Union. The American Economic Review, 94(5):1379-1410, 2004.
Rao D.S.P., O'Donnell C.J., Ball V.E., 2002. Transitive Multilateral Comparisons of Agricultural Output, Input, and Productivity: A Nonparametric Approach. In: Ball V.E., Norton G.W. Agricultural Productivity. Studies in Productivity and Efficiency, vol 2. Springer, Boston, MA.
Examples
data('multil_data')
## From 'An introduction to Efficiency and
## Productivity Analysis' (Coelli et al., 2005), page 124-126.
inputIndx = multilateral(data.x=billy_inp_q,data.y=billy_inp_p,var.agg='year',
idx='fisher',PAR=FALSE,transitivity='eks',bench=1990,period=NULL )
outputIndx = multilateral(data.x=billy_out_q,data.y=billy_out_p, var.agg='year',
PAR=FALSE,transitivity='mst',bench=1990,period=NULL )
tfpIndx = outputIndx/inputIndx
Matrix of bilateral Fisher fixed-base comparisons
Description
Matrix of bilateral quantity Fisher comparisons for region 1 and region 2 and for 2014 and 2015 of the Simulated Regional Data on Labor Inputs Statistics
Usage
data("multil_data")
Format
The format is: num [1:4, 1:4] 1 0.896 0.179 0.137 1.116 ... - attr(*, "dimnames")=List of 2 ..$ : chr [1:4] "1.2014" "1.2015" "2.2014" "2.2015" ..$ : chr [1:4] "1.2014" "1.2015" "2.2014" "2.2015"
Source
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnell, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.
References
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnell, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.
Billy's Bus Company Data: Inputs Prices
Description
Data set used for example 4.7 and 4.9.3, p.114 and p.124, of An introduction to Efficiency and Productivity Analysis, 2nd edition.
Usage
data("multil_data")
Format
A data frame with 5 observations on the following 4 variables.
year
years of observation
p1
a numeric vector containing prices of labor
p2
a numeric vector containing prices of capital
p3
a numeric vector containing prices of other inputs
Source
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnell, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.
References
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnell, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.
Billy's Bus Company Data: Inputs Quantities
Description
Data set used for example 4.7 and 4.9.3, p.114 and p.124, of An introduction to Efficiency and Productivity Analysis, 2nd edition.
Usage
data("multil_data")
Format
A data frame with 5 observations on the following 4 variables.
year
years of observation
x1
a numeric vector containing quantities of labor
x2
a numeric vector containing quantities of capital
x3
a numeric vector containing quantities of other inputs
Source
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnell, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.
References
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnell, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.
Billy's Bus Company Data: Outputs Prices
Description
Data set used for example 4.7 and 4.9.3, p.114 and p.124, of An introduction to Efficiency and Productivity Analysis, 2nd edition.
Usage
data("multil_data")
Format
A data frame with 5 observations on the following 3 variables.
year
years of observation
p1
a numeric vector containing prices metropolitan passenger kilometers
p2
a numeric vector containing prices long distance passenger kilometers
Source
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnell, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.
References
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnell, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.
Billy's Bus Company Data: Outputs Quantities
Description
Data set used for example 4.7 and 4.9.3, p.114 and p.124, of An introduction to Efficiency and Productivity Analysis, 2nd edition.
Usage
data("multil_data")
Format
A data frame with 5 observations on the following 3 variables.
year
years of observation
q1
a numeric vector containing quantities of metropolitan passenger kilometers
q2
a numeric vector containing quantities of long distance passenger kilometers
Source
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnell, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.
References
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnell, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.
Generate chained index numbers
Description
This function computes chained index numbers using the Laspyeres, Paasche, Fisher and Tornqvist formulas. It also provides the Paasche-Laspeyres spreads.
Usage
chaining(data.x, data.y)
Arguments
data.x |
A data frame containing data on prices or quantites. To get a quantity index, data.x should contain information on quantities. To get a price index, data.x should contain info on prices. Each column should represent an item of the basket. Temporal and spatial dimensions are represented by row, as in 'long' formats. Neither id nor time variables should be included among the columns. |
data.y |
A data frame containing data on prices or quantites. It represents the weights to be used in weighting data contained in data.x. To get a quantity index, data.y should contain information on prices. To get a price index, data.y should contain info on quantities. Each column should represent an item of the basket. Temporal and spatial dimensions are represented by row, as in 'long' formats. Neither id nor time variables should be included among the columns. |
Value
It returns the data frame containing the chained indexes and the Paasche-Laspeyres spreads.
Author(s)
Edoardo Baldoni
References
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnell, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.
Examples
# From An Introduction to Efficiency and Productivity Analysis (Coelli et al., 2005), pag. 127-130
data('multil_data')
chaining(rail_out_q,rail_out_p)
Transitive Indexes in Panel Data: Simulated Regional Data on Labor Inputs Prices
Description
A simulated data set in panel data format that can be used to create mst or eks indexes. It contains information on hourly wages for three categories of workers.
Usage
data("multil_data")
Format
A data frame with 80 observations on the following 5 variables.
year
temporal dimension of the panel
region
id of the region
x1
hourly wage of of labor input 1
x2
hourly wage of of labor input 2
x3
hourly wage of of labor input 3
Transitive Indexes in Panel Data: Simulated Regional Data on Labor Inputs Quantities
Description
A simulated data set in panel data format that can be used to create mst or eks indexes. It contains hours wokred for threee categories of workers.
Usage
data("multil_data")
Format
A data frame with 80 observations on the following 5 variables.
year
temporal dimension of the panel
region
id of the region
x1
hours worekd by labor input 1
x2
hours worekd by labor input 2
x3
hours worekd by labor input 3
eks: transforming a non-transitive index number matrix into a transitive one
Description
This function takes a matrix of all non-transitive binary index numbers comparisons of a data set and transforms it into a matrix of transitive index numbers using the EKS method.
Usage
eks(mat)
Arguments
mat |
Matrix of non transitive bilateral comparisons. To be transformed into transitive matrix via the EKS method. |
Details
The function should be applied to a matrix that contains superlative index numbers comparisons.
Value
It returns the set of transitive indexes associated with the benchmark unit/period.
Author(s)
Edoardo Baldoni
References
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnell, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.
Examples
# Trasforming a non-transitive Fisher matrix into a transitive one
data(multil_data)
I_nt[1,3]*I_nt[3,4]
I_nt[1,4] #non-transitive
I_t = eks(I_nt)
I_t[1,3]*I_t[3,4]
I_t[1,4] #transitive
Compute growth rates of indexes
Description
This function computes growth rates of variables for panel data sets.
Usage
growth(dataset, var.agg)
Arguments
dataset |
A data frame containing numerical data, id and time variables. The panel should be arranged in long format. |
var.agg |
The name of id variables contained in the dataset. The temporal dimension should be the first element while the spatial should be the second one. |
Value
It returns the data frame of growth rates indexed by time and id.
Author(s)
Edoardo Baldoni
Examples
library(parallel)
library(igraph)
library(ape)
data('multil_data')
indx = multilateral(dat.q,dat.p,var.agg=c('year','region'),
transitivity = 'mst', bench = 1, period =2010,
idx = 'fisher', PAR= FALSE, Cores = detectCores(),plotting= FALSE)
indx = as.data.frame(do.call('cbind',list(indx)))
names(indx) = 'indx'
## try
indx$year = substr(rownames(indx),start=nchar(rownames(indx))-3,stop=nchar(rownames(indx)))
indx$region = substr(rownames(indx),start=nchar(rownames(indx))-6,stop=nchar(rownames(indx))-5)
growth(indx, var.agg=c('year','region'))
indexes: create fixed-base or chained index numbers
Description
It computes fixed-base or chained index numbers from a set of numerical variables. It computes the Laspeyres, Paasche, Fisher and Tornqvist indexes together with the Paasche-Laspeyres spreads and the matrix of factor shares.
Usage
indexes(data.x, data.y, type = "fixed-base")
Arguments
data.x |
A data frame containing data on prices or quantites. To get a quantity index, data.x should contain information on quantities. To get a price index, data.x should contain info on prices. Each column should represent an item of the basket. Temporal and spatial dimensions are represented by row, as in 'long' formats. Neither id nor time variables should be included among the columns. |
data.y |
A data frame containing data on prices or quantites. It represents the weights to be used in weighting data contained in data.x. To get a quantity index, data.y should contain information on prices. To get a price index, data.y should contain info on quantities. Each column should represent an item of the basket. Temporal and spatial dimensions are represented by row, as in 'long' formats. Neither id nor time variables should be included among the columns. |
type |
Type of index: 'chained' or 'fixed-base'. |
Value
It returns a list of two elements. The first element of the list is a data frame containing the index numbers and the Paasche-Laspeyres spreads. The second element is a matrix containing the factor shares used to compute the indexes.
Author(s)
Edoardo Baldoni
References
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnell, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.
Examples
# From An Introduction to Efficiency and Productivity Analysis (Coelli et al., 2005), pag. 127-130
data('multil_data')
indexes(rail_out_q,rail_out_p,'chained')$indexes
multicomp
Description
This function computes transitive index numbers for cross-sections and panel data using either the EKS or the Minimum-spannin-tree method.
Usage
multicomp(data.x, data.y, idx = "fisher", transitivity = "mst",
var.agg, bench, period, plotting = FALSE)
Arguments
data.x |
A data frame containing data on prices or quantites. To get a quantity index, data.x should contain information on quantities. To get a price index, data.x should contain info on prices corresponding to the quantities in data.y. Each column should represent an item of the basket. Temporal and spatial dimensions are represented by row, as in 'long' formats. Id and/or time variables must be included among the columns. |
data.y |
A data frame containing data on prices or quantites. It represents the set of weights to be used in weighting data contained in data.x. To get a quantity index, data.y should contain information on prices corresponding to quantities in data.x. To get a price index, data.y should contain info on quantities. Each column should represent an item of the basket. Temporal and spatial dimensions are represented by row, as in 'long' formats. Id and/or time variables should be included among the columns. |
idx |
Index number formula to be used. It should be either 'paasche', 'laspeyres', 'fisher' or 'tornqvist'. |
transitivity |
The transitivization method to be used. It should be either 'eks' or 'mst'. |
var.agg |
The time and id variables of the data frames. In the case of panel data this should be a vector of two elements where the first element is the name of the column (of data.x and data.y) that contains the time dimension, while the second element is the name of the column that contains the spatial dimension. |
bench |
The id of the benchmark unit. |
period |
The benchmark period. For cross-sectional data it should be set to NULL. |
plotting |
If set to TRUE, it plots the minimum-spanning-tree. |
Value
It returns the vector of transitive index numbers.
Author(s)
Edoardo Baldoni
References
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnell, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.
R. J. Hill. Constructing price indexes across space and time: The case of the European Union. The American Economic Review, 94(5):1379-1410, 2004.
Rao D.S.P., O'Donnell C.J., Ball V.E., 2002. Transitive Multilateral Comparisons of Agricultural Output, Input, and Productivity: A Nonparametric Approach. In: Ball V.E., Norton G.W. Agricultural Productivity. Studies in Productivity and Efficiency, vol 2. Springer, Boston, MA.
Examples
library(igraph)
library(ape)
data('multil_data')
multicomp(dat.q,dat.p,transitivity='mst',var.agg=c('year','region'),
bench=1,period=2010,idx='fisher',plotting=FALSE)
multicompPAR
Description
This function computes transitive index numbers for cross-sections and panel data using either the EKS or the Minimum-spannin-tree method. It can distribute workload accross multiple CPUs.
Usage
multicompPAR(data.x, data.y, idx, transitivity, var.agg, bench, period,
plotting = FALSE, Cores)
Arguments
data.x |
A data frame containing data on prices or quantites. To get a quantity index, data.x should contain information on quantities. To get a price index, data.x should contain info on prices corresponding to the quantities in data.y. Each column should represent an item of the basket. Temporal and spatial dimensions are represented by row, as in 'long' formats. Id and/or time variables must be included among the columns. |
data.y |
A data frame containing data on prices or quantites. It represents the set of weights to be used in weighting data contained in data.x. To get a quantity index, data.y should contain information on prices corresponding to quantities in data.x. To get a price index, data.y should contain info on quantities. Each column should represent an item of the basket. Temporal and spatial dimensions are represented by row, as in 'long' formats. Id and/or time variables should be included among the columns. |
idx |
Index number formula to be used. It should be either 'paasche', 'laspeyres', 'fisher' or 'tornqvist'. |
transitivity |
The transitivization method to be used. It should be either 'eks' or 'mst'. |
var.agg |
The time and id variables of the data frames. In the case of panel data this should be a vector of two elements where the first element is the name of the column (of data.x and data.y) that contains the time dimension, while the second element is the name of the column that contains the spatial dimension. |
bench |
The id of the benchmark unit. |
period |
The benchmark period. For cross-sectional data it should be set to NULL. |
plotting |
If set to TRUE, it plots the minimum-spanning-tree. It is not available for transitivity='eks'. |
Cores |
Numbers of CPUs to be used for the calculations. |
Details
The function uses the function makePSOCKcluster from the parallel package to set up the cluster. No other parallel package is included yet.
Value
It returns the vector of transitive index numbers.
Author(s)
Edoardo Baldoni
References
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnell, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.
R. J. Hill. Constructing price indexes across space and time: The case of the European Union. The American Economic Review, 94(5):1379-1410, 2004.
Rao D.S.P., O'Donnell C.J., Ball V.E., 2002. Transitive Multilateral Comparisons of Agricultural Output, Input, and Productivity: A Nonparametric Approach. In: Ball V.E., Norton G.W. Agricultural Productivity. Studies in Productivity and Efficiency, vol 2. Springer, Boston, MA.
Examples
library(igraph)
library(ape)
library(parallel)
data('multil_data')
multicompPAR(dat.q,dat.p,transitivity='mst',var.agg=c('year','region'),
bench=1,period=2010,idx='fisher',Cores=1,plotting=FALSE)
multilateral: generate transitive index numbers for cross-sections and panel data
Description
This function computes transitive index numbers for cross-sections and panel data using either the EKS or the Minimum-spannin-tree method. The workload can be distributed across multiple CPUs. The function is a wrapper for the multicomp and multicompPAR functions.
Usage
multilateral(data.x, data.y, idx = "fisher", transitivity = "mst",
var.agg, bench, period, PAR = TRUE, plotting = FALSE, Cores)
Arguments
data.x |
A data frame containing data on prices or quantites. To get a quantity index, data.x should contain information on quantities. To get a price index, data.x should contain info on prices corresponding to the quantities in data.y. Each column should represent an item of the basket. Temporal and spatial dimensions are represented by row, as in 'long' formats. Id and/or time variables must be included among the columns. |
data.y |
A data frame containing data on prices or quantites. It represents the set of weights to be used in weighting data contained in data.x. To get a quantity index, data.y should contain information on prices corresponding to quantities in data.x. To get a price index, data.y should contain info on quantities. Each column should represent an item of the basket. Temporal and spatial dimensions are represented by row, as in 'long' formats. Id and/or time variables should be included among the columns. |
idx |
Index number formula to be used. It should be either 'paasche', 'laspeyres', 'fisher' or 'tornqvist'. |
transitivity |
The transitivization method to be used. It should be either 'eks' or 'mst'. |
var.agg |
The time and id variables of the data frames. In the case of panel data it should be a vector of two elements where the first element is the name of the column of data.x (and data.y) that contains the time dimension, while the second element is the name of the column that contains the spatial dimension. |
bench |
The id of the benchmark unit. |
period |
The benchmark period. For cross-sectional data it should be set to NULL. |
PAR |
If set to TRUE the indexes will be computed in parallel. |
plotting |
If TRUE the plot of the minium-spanning-tree is plotted. It works only if transitivization is set to 'mst'. |
Cores |
Number of CPUs to be used in the parallel calculation procedure. It works only if PAR is set to TRUE. |
Details
It is a wrapper for the multicomp and multicompPAR functions. The function uses the function makePSOCKcluster from the parallel package to set up the cluster. No other parallel package is included yet.
Value
It returns the vector of transitive index numbers.
Author(s)
Edoardo Baldoni
References
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnell, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.
R. J. Hill. Constructing price indexes across space and time: The case of the European Union. The American Economic Review, 94(5):1379-1410, 2004.
Rao D.S.P., O'Donnell C.J., Ball V.E., 2002. Transitive Multilateral Comparisons of Agricultural Output, Input, and Productivity: A Nonparametric Approach. In: Ball V.E., Norton G.W. Agricultural Productivity. Studies in Productivity and Efficiency, vol 2. Springer, Boston, MA.
Examples
library(igraph)
library(ape)
library(lattice)
library(parallel)
data('multil_data')
## Compare eks method with the mst method.
indx.mst = multilateral(dat.q,dat.p,
idx='fisher', transitivity='mst',
var.agg=c('year','region'),bench='1',
period=2010,
PAR=FALSE,
plotting=FALSE,Cores=2)
indx.mst = as.data.frame(do.call('cbind',list(indx.mst)))
names(indx.mst) = 'mst'
indx.eks = multilateral(dat.q,dat.p,
idx='fisher', transitivity='eks',
var.agg=c('year','region'),bench='1',
period=2010,
PAR=FALSE,
plotting=FALSE)
indx.eks = as.data.frame(do.call('cbind',list(indx.eks)))
names(indx.eks) = 'eks'
indx = cbind(indx.mst,indx.eks)
indx$year = as.numeric(substr(rownames(indx),
start=nchar(rownames(indx))-3,stop=nchar(rownames(indx))))
indx$region = substr(rownames(indx),
start=nchar(rownames(indx))-6,stop=nchar(rownames(indx))-5)
xyplot(mst+eks ~ year|region,indx,type='l')
Australian National Railways Data: Output Prices
Description
Data set used for example 4.10, p.128, of An introduction to Efficiency and Productivity Analysis, 2nd edition.
Usage
data("multil_data")
Format
A data frame with 12 observations on the following 3 variables.
p1
prices of Mainland Freight services ($/NTK)
p2
prices of Tasrail Freight services ($/NTK)
p3
prices of Passenger services ($/PTK)
Source
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnell, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.
References
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnell, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.
Australian National Railways Data: Output Quantities
Description
Data set used for example 4.10, p.128, of An introduction to Efficiency and Productivity Analysis, 2nd edition.
Usage
data("multil_data")
Format
A data frame with 12 observations on the following 3 variables.
x1
quantities of Mainland Freight services (1,000 NTKs)
x2
quantities of Tasrail Freight services (1,000 NTKs)
x3
quantities of Passenger services (1,000 PTKs)
Source
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnell, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.
References
T. J. Coelli, D. S. Prasada Rao, C. J. O'Donnell, and G. E. Battese. An introduction to Efficiency and Productivity Analysis, 2nd edition. Springer Science + Business Media, New York, 2005.