r - 如何在 R 中使用两个变量创建 3 x 3 列联表

标签 r

示例:

x <- c( 1, NA, 0, 1)
y <- c(NA, NA, 0, 1)
table(x,y, useNA="always") # --->
#       y
# x      0 1 <NA>
#   0    1 0    0
#   1    0 1    1
#  <NA>  0 0    1

我的问题是:
a <- c(NA, NA, NA, NA)
b <- c(1, 1, 1, 1)
table(a, b, useNA="always") ## --> It is 1X2 matrix. 
#       b
# a      1 <NA>
#   <NA> 4    0

我想要一张带有 的 3X3 表相同的列名、行名和维度 如上面的例子..然后我将为表应用 chisq.test 。
非常感谢您的回答!

最佳答案

您可以通过转换 a 来实现这一点。和 b成相同水平的因素。这是有效的,因为因子向量会跟踪其元素可能采用的所有可能值(即级别),即使它们实际上仅包含这些值的一个子集。

a <- c(NA, NA, NA, NA)
b <- c(1, 1, 1, 1)

levs <- c(0, 1)

table(a = factor(a, levels = levs), 
      b = factor(b, levels = levs), 
      useNA = "always")
#       b
# a      0 1 <NA>
#   0    0 0    0
#   1    0 0    0
#   <NA> 0 4    0

关于r - 如何在 R 中使用两个变量创建 3 x 3 列联表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12806491/

相关文章:

r - 堆积条形图 : what if each subcategory (fill) is unique?

r - 检测字符串中的非 ascii 字符

r - 将通知链接到 shinydashboard 中的选项卡

根据周围的值重新编码向量中的值

r - 将数据帧拆分为四个部分

r - 获取 R 中警告的确切数量()

r - 测试中有没有像expect_no_warnings()这样的东西?

r - 如何从另一个输出访问变量

r - 在 ggplot 中的何处以及如何应用过滤器

r - 如何在删除提示后始终如一地绘制一棵树?