当您有一个包含计数值的列时的意外事件 table
Contingency table when you have a column with count values
我有一个看起来像这样的数据框:
Year Var Count
2019 A 10
2020 B 23
2019 B 36
2020 A 42
如何使用“计数”列作为频率来制作 Year x Var 意外事件 table?
我们可以在base R
中使用xtabs
xtabs(Count ~ Year + Var, df1)
# Var
#Year A B
# 2019 10 36
# 2020 42 23
要包括 row/column 总数,可以使用 addmargins
addmargins(xtabs(Count ~ Year + Var, df1))
# Var
#Year A B Sum
# 2019 10 36 46
# 2020 42 23 65
# Sum 52 59 111
数据
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))
在 tidyverse
中,在 janitor
的帮助下,您可以:
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
使用 reshape
使其“宽”的基本 R 选项,即
reshape(
df,
direction = "wide",
idvar = "Year",
timevar = "Var"
)
给予
Year Count.A Count.B
1 2019 10 36
2 2020 42 23
我有一个看起来像这样的数据框:
Year Var Count
2019 A 10
2020 B 23
2019 B 36
2020 A 42
如何使用“计数”列作为频率来制作 Year x Var 意外事件 table?
我们可以在base R
xtabs
xtabs(Count ~ Year + Var, df1)
# Var
#Year A B
# 2019 10 36
# 2020 42 23
要包括 row/column 总数,可以使用 addmargins
addmargins(xtabs(Count ~ Year + Var, df1))
# Var
#Year A B Sum
# 2019 10 36 46
# 2020 42 23 65
# Sum 52 59 111
数据
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))
在 tidyverse
中,在 janitor
的帮助下,您可以:
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
使用 reshape
使其“宽”的基本 R 选项,即
reshape(
df,
direction = "wide",
idvar = "Year",
timevar = "Var"
)
给予
Year Count.A Count.B
1 2019 10 36
2 2020 42 23