你如何强制在 R 的表中包含一个级别?
Posted
技术标签:
【中文标题】你如何强制在 R 的表中包含一个级别?【英文标题】:How can you force inclusion of a level in a table in R? 【发布时间】:2013-11-15 09:48:46 【问题描述】:有没有办法强制 R 的 table
函数包含行或列,即使它们从未出现在数据中?例如,
data.1 <- c(1, 2, 1, 2, 1, 2, 4)
data.2 <- c(1, 4, 3, 3, 3, 1, 1)
table(data.1, data.2)
返回
data.2
data.1 1 3 4
1 1 2 0
2 1 1 1
4 1 0 0
行中缺少 3,列中缺少 2,因为它们没有出现在数据中。
是否有一种简单的方法可以强制将额外的零行和列插入正确的位置,而不是返回以下内容?
data.2
data.1 1 2 3 4
1 1 0 2 0
2 1 0 1 1
3 0 0 0 0
4 1 0 0 0
【问题讨论】:
【参考方案1】:您需要将向量转换为factor
s,每个向量都包含您想要包含在输出中的所有levels
。
levs <- sort(union(data.1, data.2))
table(factor(data.1, levs), factor(data.2, levs))
#
# 1 2 3 4
# 1 1 0 2 0
# 2 1 0 1 1
# 3 0 0 0 0
# 4 1 0 0 0
【讨论】:
以上是关于你如何强制在 R 的表中包含一个级别?的主要内容,如果未能解决你的问题,请参考以下文章
如何强制 `qmake` 在 `project.pbxproj` 中包含 `ProvisioningStyle` $ `DevelopmentTeam` 字段?