Rem*_*i.b 10 combinations interaction r
我有一份房屋清单和一份动物物种清单.
houses = c(1,1,2,3,4,4,4,4,5,6,5)
animals = c('cat','dog','cat','dog','rat', 'cat', 'spider', 'snake', 'cat', 'cat', 'rat')
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个函数,该函数返回一个上三角表,指示每只宠物,它被观察到的生活在同一个房子中的次数比其他动物物种.是否有意义?
对于上面的例子,表应该是这样的(希望没有错!):
dog rat spider snake
cat 1 2 1 1
dog 0 0 0
rat 1 1
spider 1
Run Code Online (Sandbox Code Playgroud)
注意:此函数应适用于任何两个相同长度的向量,无论它们是否包含数字或字符串
A5C*_*2T1 16
使用table和crossprod:
out <- crossprod(table(houses, animals))
out[lower.tri(out, diag=TRUE)] <- NA
out
# animals
# animals cat dog rat snake spider
# cat NA 1 2 1 1
# dog NA NA 0 0 0
# rat NA NA NA 1 1
# snake NA NA NA NA 1
# spider NA NA NA NA NA
Run Code Online (Sandbox Code Playgroud)
由于输出是a,matrix您可以NA直接在print以下位置禁止打印值:
print(out,na.print="")
# animals
# animals cat dog rat snake spider
# cat 1 2 1 1
# dog 0 0 0
# rat 1 1
# snake 1
# spider
Run Code Online (Sandbox Code Playgroud)