将两个序列组合成 R 中的数据框返回丢失的标识

Combine two sequences into a data frame in R returned missing identifications

我想制作一个 432 行的数据框

place_holder <- data.frame(Cohort = rep(seq(1:6),8),
                           Quadrat = rep(seq(1:8),6))

这样每个队列都存在于所有样方中。我得到的是

table(place_holder$Cohort, place_holder$Quadrat)
   
     1  2  3  4  5  6  7  8
  1 18  0 18  0 18  0 18  0
  2  0 18  0 18  0 18  0 18
  3 18  0 18  0 18  0 18  0
  4  0 18  0 18  0 18  0 18
  5 18  0 18  0 18  0 18  0
  6  0 18  0 18  0 18  0 18

当我执行 table() 命令时,我期望的是全 9。如何更改我的代码。非常感谢!!

您可以将 each 参数添加到其中一个变量。

place_holder <- data.frame(Cohort = rep(seq(1:6),each = 72),
                           Quadrat = rep(seq(1:8),54))

table(place_holder$Cohort, place_holder$Quadrat)

    1 2 3 4 5 6 7 8
  1 9 9 9 9 9 9 9 9
  2 9 9 9 9 9 9 9 9
  3 9 9 9 9 9 9 9 9
  4 9 9 9 9 9 9 9 9
  5 9 9 9 9 9 9 9 9
  6 9 9 9 9 9 9 9 9

您的其中一列需要排序,您需要改为指定 each 参数:

place_holder <- data.frame(Cohort = rep(seq(1:6), 72),
                           Quadrat = rep(seq(1:8), each = 54))

然后:

table(place_holder$Cohort, place_holder$Quadrat)

或者如果您已经定义了数据框但无法更改它,请尝试:

table(place_holder$Cohort, sort(place_holder$Quadrat))
   

全部输出:

    1 2 3 4 5 6 7 8
  1 9 9 9 9 9 9 9 9
  2 9 9 9 9 9 9 9 9
  3 9 9 9 9 9 9 9 9
  4 9 9 9 9 9 9 9 9
  5 9 9 9 9 9 9 9 9
  6 9 9 9 9 9 9 9 9