【列联表】
[size=13.333333015441895px]table(...,[size=13.333333015441895px]exclude = if (useNA == "no") c(NA, NaN),[size=13.333333015441895px]useNA = c("no", "ifany", "always"),[size=13.333333015441895px]dnn = list.names(...), deparse.level = 1)
as.table(x, ...)
is.table(x)
## S3 method for class 'table'
as.data.frame(x, row.names = NULL, ...,responseName = "Freq", stringsAsFactors = TRUE,sep = "", base = list(LETTERS))
参数说明:
exclude:不统计某些数据
> a <- rep(c(NA, 1/0:3), 10)
> table(a)
a
0.333333333333333 0.5 1 Inf
10 10 10 10
> table(a, exclude = c("Inf","NULL"))
a
0.333333333333333 0.5 1
10 10 10
> b <- factor(rep(c("A","B","C"), 10))
> table(b)
b
A B C
10 10 10
> table(b, exclude = "B")
b
A C
10 10
2、useNA:表示NA值是否包含在内。取值no、ifany、always,其中取值no,表示不统计NA。取值ifany,表示列不统计NA,取值always,表示行列均统计NA。
> with(airquality,
+ table(OzHi = Ozone > 80, Month, useNA = "no"))
Month
OzHi 5 6 7 8 9
FALSE 25 9 20 19 27
TRUE 1 0 6 7 2
> with(airquality,
+ table(OzHi = Ozone > 80, Month, useNA = "no"))
Month
OzHi 5 6 7 8 9
FALSE 25 9 20 19 27
TRUE 1 0 6 7 2
> with(airquality,
+ table(OzHi = Ozone > 80, Month, useNA = "ifany"))
Month
OzHi 5 6 7 8 9
FALSE 25 9 20 19 27
TRUE 1 0 6 7 2
<NA> 5 21 5 5 1
> with(airquality,
+ table(OzHi = Ozone > 80, Month, useNA = "always"))
Month
OzHi 5 6 7 8 9 <NA>
FALSE 25 9 20 19 27 0
TRUE 1 0 6 7 2 0
<NA> 5 21 5 5 1 0
3、dnn:给输出的结果定义维度名称;deparse.level:控制输出量的名称,取值0,命名为空值。取值1,列参数命名,取值2,行列参数全部命名
a <- letters[1:3]
> table(a, sample(a)) # dnn is c("a", "")
a a b c
a 0 0 1
b 1 0 0
c 0 1 0
> table(a, sample(a), deparse.level = 0) # dnn is c("", "")
a b c
a 0 1 0
b 0 0 1
c 1 0 0
> table(a, sample(a), deparse.level = 1) # dnn is c("a", "")
a a b c
a 0 1 0
b 1 0 0
c 0 0 1
> table(a, sample(a), deparse.level = 2) # dnn is c("a", "sample(a)")
sample(a)
a a b c
a 1 0 0
b 0 0 1
c 0 1 0
补充:多维列联表
table(var1,var2,var3,……)
> a <- rep(c(NA, 1/0:3), 10)
> table(a,a)
a
a 0.333333333333333 0.5 1 Inf
0.333333333333333 10 0 0 0
0.5 0 10 0 0
1 0 0 10 0
Inf 0 0 0 10