用 R 计算起点-终点固定效应
Computing origin-destination fixed effects with R
我正在使用具有各种固定效应的重力方程。始发地固定效应、目的地固定效应和始发地-目的地对固定效应。
考虑以下示例
require(dplyr)
mydf <- data_frame(orig = rep(LETTERS[1:3], each = 3),
dest = rep(LETTERS[1:3], times = 3))
可以使用因子
创建起点和终点固定效应
mydf <- mutate(mydf,
orig_fe = factor(orig),
dest_fe = factor(dest))
现在我想对起点-终点对执行相同的操作。例如,AB
组合应采用与 BA
组合相同的值。当然,这个变量也应该是一个因素。
预期结果如下
mydf$pair_fe = as.factor(c('AA', 'AB', 'AC', 'AB', 'BB', 'BC', 'AC', 'BC', 'CC'))
mydf
# orig dest orig_fe dest_fe pair_fe
# (chr) (chr) (fctr) (fctr) (fctr)
# 1 A A A A AA
# 2 A B A B AB
# 3 A C A C AC
# 4 B A B A AB
# 5 B B B B BB
# 6 B C B C BC
# 7 C A C A AC
# 8 C B C B BC
# 9 C C C C CC
我们可以用pmax
和pmin
得到行方向的最大值和最小值,然后paste
把向量放在一起,转换成factor
class.
mydf %>%
mutate(pair_fe= factor(paste0(pmin(orig,dest), pmax(orig,dest))))
# orig dest orig_fe dest_fe pair_fe
# (chr) (chr) (fctr) (fctr) (fctr)
#1 A A A A AA
#2 A B A B AB
#3 A C A C AC
#4 B A B A AB
#5 B B B B BB
#6 B C B C BC
#7 C A C A AC
#8 C B C B BC
#9 C C C C CC
我正在使用具有各种固定效应的重力方程。始发地固定效应、目的地固定效应和始发地-目的地对固定效应。
考虑以下示例
require(dplyr)
mydf <- data_frame(orig = rep(LETTERS[1:3], each = 3),
dest = rep(LETTERS[1:3], times = 3))
可以使用因子
创建起点和终点固定效应mydf <- mutate(mydf,
orig_fe = factor(orig),
dest_fe = factor(dest))
现在我想对起点-终点对执行相同的操作。例如,AB
组合应采用与 BA
组合相同的值。当然,这个变量也应该是一个因素。
预期结果如下
mydf$pair_fe = as.factor(c('AA', 'AB', 'AC', 'AB', 'BB', 'BC', 'AC', 'BC', 'CC'))
mydf
# orig dest orig_fe dest_fe pair_fe
# (chr) (chr) (fctr) (fctr) (fctr)
# 1 A A A A AA
# 2 A B A B AB
# 3 A C A C AC
# 4 B A B A AB
# 5 B B B B BB
# 6 B C B C BC
# 7 C A C A AC
# 8 C B C B BC
# 9 C C C C CC
我们可以用pmax
和pmin
得到行方向的最大值和最小值,然后paste
把向量放在一起,转换成factor
class.
mydf %>%
mutate(pair_fe= factor(paste0(pmin(orig,dest), pmax(orig,dest))))
# orig dest orig_fe dest_fe pair_fe
# (chr) (chr) (fctr) (fctr) (fctr)
#1 A A A A AA
#2 A B A B AB
#3 A C A C AC
#4 B A B A AB
#5 B B B B BB
#6 B C B C BC
#7 C A C A AC
#8 C B C B BC
#9 C C C C CC