示例:
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表,其中相同的名称,rownames和维度如上例所示。然后我将chisq.test应用于表格。 非常感谢您的回答!
答案 0 :(得分:6)
您可以通过将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