如何在R中进行汇总和分组

时间:2020-10-28 19:37:10

标签: r dplyr

R的新手,并尝试创建一些数据摘要。

test_data <- tibble(x=1:10,y=11:20, room=c("a","b","a","b","a","b","a","b","a","b"), colour=c("red","blue","green","black","red","red","blue","green","black","red"))
summary_data <- test_data %>%
  filter(room != "NA") %>%
  group_by(room) %>%
  summarise_all(funs(sum(complete.cases(.)))) %>%
  rename_all(~paste0("risk_",colnames(summary_data)))

礼物:

> summary_data
# A tibble: 2 x 4
  risk_room risk_x risk_y risk_colour
  <chr>      <int>  <int>       <int>
1 a              5      5           5
2 b              5      5           5

这根本不是我想要的!我想要的是:

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:4)

使用管理员和tidyverse

library(tidyverse)
library(janitor)
test_data <- tibble(x=1:10,y=11:20, room=c("a","b","a","b","a","b","a","b","a","b"), colour=c("red","blue","green","black","red","red","blue","green","black","red"))

test_data %>%
    group_by(room, colour) %>%
    tally() %>% 
    spread(colour, n) %>%
    adorn_totals("col", name = "Count") %>%
    adorn_totals("row",name = "Total")