首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当您有一个具有计数值的列时的偶联表

当您有一个具有计数值的列时的偶联表
EN

Stack Overflow用户
提问于 2021-05-06 08:19:51
回答 3查看 79关注 0票数 3

我有一个数据帧,看起来像这样:

代码语言:javascript
复制
Year      Var    Count
2019       A     10
2020       B     23
2019       B     36
2020       A     42

如何使用"Count“列作为频率来制作年份x变量联想表?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-05-06 08:21:38

我们可以在base R中使用xtabs

代码语言:javascript
复制
xtabs(Count ~ Year + Var, df1)
#        Var
#Year    A  B
#   2019 10 36
#   2020 42 23

要包括行/列合计,可以使用addmargins

代码语言:javascript
复制
addmargins(xtabs(Count ~ Year + Var, df1))
#     Var
#Year     A   B Sum
#  2019  10  36  46
#  2020  42  23  65
#  Sum   52  59 111

数据

代码语言:javascript
复制
df1 <- structure(list(Year = c(2019L, 2020L, 2019L, 2020L), Var = c("A", 
"B", "B", "A"), Count = c(10L, 23L, 36L, 42L)), class = "data.frame",
row.names = c(NA, 
-4L))
票数 3
EN

Stack Overflow用户

发布于 2021-05-06 11:16:06

janitor的帮助下,您可以在tidyverse中执行以下操作:

代码语言:javascript
复制
library(tidyr)
library(janitor)

df %>%
  pivot_wider(names_from = Var, values_from = Count) %>%
  adorn_totals(where = c("row", "col"))

#  Year  A  B Total
#  2019 10 36    46
#  2020 42 23    65
# Total 52 59   111
票数 4
EN

Stack Overflow用户

发布于 2021-05-06 15:25:57

使用reshape使其“宽”的基础R选项,即,

代码语言:javascript
复制
reshape(
  df,
  direction = "wide",
  idvar = "Year",
  timevar = "Var"
)

给出

代码语言:javascript
复制
  Year Count.A Count.B
1 2019      10      36
2 2020      42      23
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67410341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档