楼主: aiqingjiel
3266 1

[学习分享] 创建及处理列联表---table [推广有奖]

  • 0关注
  • 1粉丝

本科生

22%

还不是VIP/贵宾

-

威望
0
论坛币
290 个
通用积分
5.9985
学术水平
9 点
热心指数
9 点
信用等级
4 点
经验
544 点
帖子
43
精华
0
在线时间
87 小时
注册时间
2009-12-22
最后登录
2024-4-13

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
【列联表】
[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

二维码

扫码加我 拉你入群

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

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


很受用,如果楼主在每个代码再解释一下,会更省心啦嘻嘻嘻

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-25 10:23