如何在R中对频率和百分比进行排序



我有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

最新更新