我有100列,这是我的示例的一部分:
df <- read.table(header = TRUE, text =
"outcome night book color
0 0 1 1
1 0 1 1
1 1 1 1
1 1 0 1
1 0 1 1
"
)
我想计算频率和百分比,得到下表。感谢您的帮助
df <- read.table(header = TRUE, text =
"result N1 N0 %p1 %p0
outcome 4 0 80 20
night 2 3 40 60
book 4 1 80 20
color 5 0 100 0
"
)
您可以使用:
tibble::tibble(result = names(df),
N1 = colSums(df), N0 = colSums(!df),
p1 = N1/nrow(df) * 100, p0 = N0/nrow(df) * 100)
# result N1 N0 p1 p0
# <chr> <dbl> <dbl> <dbl> <dbl>
#1 outcome 4 1 80 20
#2 night 2 3 40 60
#3 book 4 1 80 20
#4 color 5 0 100 0