用R计算起始 - 目的地固定效应

时间:2015-11-24 09:54:54

标签: r dataframe glm

我正在使用具有各种固定效果的引力方程。原点固定效果,目标固定效果和原点 - 目的地对固定效果。

考虑以下示例

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

1 个答案:

答案 0 :(得分:2)

我们可以使用pminpaste获取行的最大值和最小值,然后将factor个矢量放在一起,然后转换为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 类。

{{1}}