全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3594 1
2018-09-02
【列联表】
[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

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-9-28 11:20:46
很受用,如果楼主在每个代码再解释一下,会更省心啦嘻嘻嘻
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群