排除具有特定值的列和行

时间:2011-10-20 20:28:06

标签: r

如何从此频率表中排除具有特定频率值(例如n <1)的列和行(只是不需要显示它们)。 “x”和“y”是因素。

table(x,y)

2 个答案:

答案 0 :(得分:1)

如果我理解正确的话:

tab <- table(x, y)
rfreq <- rowSums(tab)/sum(tab)
cfreq <- colSums(tab)/sum(tab)

# exclude all rows containing less than 5% of the data
tab[rfreq >= 0.05, ]

# exclude all columns less than 5%
tab[, cfreq >= 0.05]

# exclude both rows and columns
tab[rfreq >= 0.05, cfreq >= 0.05]

答案 1 :(得分:-2)

请参阅exclude参数。

n = 100
set.seed(12345)
x = factor(1:4)[sample(1:3, n, replace=T)]
> table(x)
x
 1  2  3  4 
32 30 38  0 
> table(x, exclude=4)
x
 1  2  3 
32 30 38