library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.1 ──
## ✔ ggplot2 3.3.6 ✔ purrr 0.3.4
## ✔ tibble 3.1.8 ✔ dplyr 1.0.9
## ✔ tidyr 1.2.0 ✔ stringr 1.4.0
## ✔ readr 2.1.2 ✔ forcats 0.5.1
## Warning: package 'tidyr' was built under R version 4.0.5
## Warning: package 'readr' was built under R version 4.0.5
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
set.seed(1234)
data.frame(地域=factor(sample(x = c("A","B","C","D"),size = 100,replace = TRUE)),
回答=factor(sample(x = c("はい","いいえ","どちらでもない"),size = 100,replace = TRUE),levels=c("はい","いいえ","どちらでもない"))) -> .dd
.dd %>% head()
## 地域 回答
## 1 D はい
## 2 D どちらでもない
## 3 B どちらでもない
## 4 B はい
## 5 A どちらでもない
## 6 D いいえ
summary(.dd)
## 地域 回答
## A:19 はい :34
## B:29 いいえ :33
## C:23 どちらでもない:33
## D:29
.dd %>% filter(地域=="A") %>% count(回答)
## 回答 n
## 1 はい 6
## 2 いいえ 6
## 3 どちらでもない 7
.dd %>% filter(地域=="A") %>% count(回答) %>% pivot_wider(names_from = 回答,values_from = n)
## # A tibble: 1 × 3
## はい いいえ どちらでもない
## <int> <int> <int>
## 1 6 6 7
.dd %>% group_by(地域) %>% count(回答) %>% pivot_wider(names_from = 回答,values_from = n)
## # A tibble: 4 × 4
## # Groups: 地域 [4]
## 地域 はい いいえ どちらでもない
## <fct> <int> <int> <int>
## 1 A 6 6 7
## 2 B 13 8 8
## 3 C 9 7 7
## 4 D 6 12 11
```