构造列联表,包括不发生的转换

时间:2016-02-19 12:10:41

标签: r

我从我的数据构建的列表中有一个混乱的行为序列。从这个行为列表中,我想创建一个列联表,每个转换从序列中的一个步骤到下一个步骤。一旦我有了这张桌子,我想把它与我的实际观察数据进行比较。基本上比较一个列联表和另一个列表。我遇到过一个问题,如果有一个行为状态只发生一次,并且碰巧被随机分配到第一个位置,我的列联表不包含一个列或行(从行为到那个行为的转换)没有发生)。那么阵列是不一致的,例如观察应变表到洗牌的列联表。

示例

    Pbehav1<- 0.9
    Pbehav2<- 0.1
    Pbehav3<- 0
    Pbehav4<- 0
    Pbehav5<- 0
    Pbehav6<-0
    Pbehav7<-0
    Pbehav8<-0
    Pbehav9<-0
    Pbehav10<-0

    Trans<-10

      Behavno<-2

      behaviourlist<-c(rep("a", round(Pbehav1*Trans)), rep("b", round(Pbehav2*Trans)), rep("c", round(Pbehav3*Trans)),rep("d", round(Pbehav4*Trans)), rep("e", round(Pbehav5*Trans)), rep("f", round(Pbehav6*Trans)),rep("g", round(Pbehav7*Trans)), rep("h", round(Pbehav8*Trans)), rep("i", round(Pbehav9*Trans)),rep("j", round(Pbehav10*Trans))) 

    random<-sample(behaviourlist)
    random
     [1] "b" "a" "a" "a" "a" "a" "a" "a" "a" "a"
    random1<-random[1:(length(random)-1)]

    random2<-random[2: length(random)]

    shuffledcontingencytable <- table(random1, random2)
    shuffledcontingencytable
           random2
    random1 a
          a 8
          b 1

行为表的另一个改组更有可能产生:

 shuffledcontingencytable
           random2
    random1 a b
          a 7 1
          b 1 0

我需要所有洗牌的列联表包含行和列(由每个行为发生的概率确定--- Pbehav1&lt; - 0.9         Pbehav2&lt; -0.1),如果没有发生转换则填充0。这是将混洗的列联表与观察到的(固定的)列联表进行比较的循环的一部分。

我真的很感激任何帮助,我是R的新手,并且在这几天里一直在努力。

谢谢!

0 个答案:

没有答案