[英]How do i combine 3 columns and get the frequency of them?
我目前有這張桌子給我:
City_Category Cat1 Cat2 Cat3
1 A 3 0 0
2 A 1 6 14
3 C 4 5 9
4 A 12 14 0
5 C 8 0 0
6 A 1 2 0
7 A 12 14 17
類別1,2和3下的數字是產品所屬類別的一種。 如何將它們組合在一起以制作如下表格?
City_Category Category Freq
1 A 0 4
2 B 0 0
3 C 0 2
...
17 A 14 3
嘗試:
library(dplyr)
library(tidyr)
gather(df, name, Category, -City_Category) %>%
count(City_Category, Category, name = 'Freq')
輸出:
# A tibble: 13 x 3
City_Category Category Freq
<fct> <int> <int>
1 A 0 4
2 A 1 2
3 A 2 1
4 A 3 1
5 A 6 1
6 A 12 2
7 A 14 3
8 A 17 1
9 C 0 2
10 C 4 1
11 C 5 1
12 C 8 1
13 C 9 1
使用的數據:
df <- structure(list(City_Category = structure(c(1L, 1L, 2L, 1L, 2L,
1L, 1L), .Label = c("A", "C"), class = "factor"), Cat1 = c(3L,
1L, 4L, 12L, 8L, 1L, 12L), Cat2 = c(0L, 6L, 5L, 14L, 0L, 2L,
14L), Cat3 = c(0L, 14L, 9L, 0L, 0L, 0L, 17L)), class = "data.frame", row.names = c("1",
"2", "3", "4", "5", "6", "7"))
如果由於某種原因您不能使用最新的dplyr
版本,則可以執行以下操作:
gather(df, name, Category, -City_Category) %>%
count(City_Category, Category) %>%
rename(Freq = n)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.