library(dplyr)
library(tidyr)
data("bfi", package = "psych")
bfi_long <- bfi %>%
pivot_longer(A1:A5, names_to = "item", values_to = "response") %>%
select(item, response, everything())
head(bfi_long)# A tibble: 6 × 25
item response C1 C2 C3 C4 C5 E1 E2 E3 E4 E5
<chr> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int>
1 A1 2 2 3 3 4 4 3 3 3 4 4
2 A2 4 2 3 3 4 4 3 3 3 4 4
3 A3 3 2 3 3 4 4 3 3 3 4 4
4 A4 4 2 3 3 4 4 3 3 3 4 4
5 A5 4 2 3 3 4 4 3 3 3 4 4
6 A1 2 5 4 4 3 4 1 1 6 4 3
# ℹ 13 more variables: N1 <int>, N2 <int>, N3 <int>, N4 <int>, N5 <int>,
# O1 <int>, O2 <int>, O3 <int>, O4 <int>, O5 <int>, gender <int>,
# education <int>, age <int>
bfi_long %>%
group_by(item) %>%
summarise(mean = mean(response, na.rm = TRUE))# A tibble: 5 × 2
item mean
<chr> <dbl>
1 A1 2.41
2 A2 4.80
3 A3 4.60
4 A4 4.70
5 A5 4.56