Я застрял, пытаясь преобразовать широкий формат в длинный с несколькими столбцами идентификаторов и значений. Я бы предпочел tidyr решение как dcast, поскольку по умолчанию используется длина.
Вот что я пробовал до сих пор:
df_wide <- df %>%
melt(id.vars = c(Route, Address, Week)) %>%
dcast(Route + Address ~ variable + Week)
Данные:
df <- read.table(text = "
Route Week Address V1 V2 V3 V4 V5
A Week1 12345_SE_Court 0 1 0 0 0
A Week2 12345_SE_Court 0 0 1 1 1
B Week1 98765_NW_Drive 1 1 0 0 1
B Week2 98765_NW_Drive 0 1 0 1 0
C Week1 10293_SW_Road 0 0 0 0 1
C Week2 10293_SW_Road 1 0 0 0 1
A Week1 33333_NE_Street 0 1 1 0 0
A Week2 33333_NE_Street 1 0 1 0 0"
, header = TRUE)
Желаемый результат:
Route Address V1.Week1 V2.Week1 V3.Week1 V4.Week1 V5.Week1 V1.Week1 V2.Week2 V3.Week2 V4.Week2 V5.Week2
A 12345_SE_Court 0 1 0 0 0 0 0 1 1 1
A 33333_NE_Street 0 1 1 0 1 0 1 0 0 0
B 98765_NW_Drive 1 1 0 0 1 0 1 0 1 0
C 10293_SW_Road 0 0 0 0 1 1 0 0 0 1