使用mytable <- table(VarA, varB)
我创建了一个如下所示的频率表:
1 2
0 0 5
1 5 7
2 0 0
3 7 9
4 0 0
5 5 10
现在,我想在该表上使用assocstats
和table2d_summary
运行一些统计信息。但首先我要删除空值。这意味着表中的行计数为零,
那么如何摆脱两个频率为0的行(在我的例子中是第2行和第4行)?
对于数据框,我可以使用subset
函数:
mytable_noZ <- subset(mytbale, mytable$VarA != 0 & mytable$VarB != 0)
但似乎不可能通过表中的此方法引用变量(列)。
一种有效的方法是“手动”删除行
mytable_noZ <- mytable[-c(2,4),]
在这个例子中哪个很容易,但我有一些更大的表格。
我在这里和其他地方搜索了一个解决方案,但总是只找到删除数据框中的行,变量和案例的方法。
所以希望有人可以帮助我。
答案 0 :(得分:0)
我终于找到了我的问题的解决方案,并希望在此处提出。以防其他人遇到这个问题。
首先,我将表格转换为data.frame(就像akrun建议的那样):
mydf <- as.data.frame.matrix(mytable)
然后我选择要删除的行并将其保存到变量deleterows
中,并使用此变量删除原始表中的行:
deleterows <- which(mydf$`1` == 0 & mydf$`2` == 0)
mytable <- mytable[-deleterows,]