Package 'multilaterals'

Title: 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.
Authors: Edoardo Baldoni
Maintainer: Edoardo Baldoni <[email protected]>
License: GPL-3
Version: 1.0
Built: 2025-02-18 05:11:31 UTC
Source: https://github.com/cran/multilaterals

Help Index


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'))

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.


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')

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

Maintainer: Edoardo Baldoni <[email protected]>

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=2000,period=NULL )
outputIndx = multilateral(data.x=billy_out_q,data.y=billy_out_p, var.agg='year',
 PAR=FALSE,transitivity='mst',bench=2000,period=NULL )
tfpIndx = outputIndx/inputIndx

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.