У меня есть набор данных, который содержит строку, идентифицирующую каждый раз, когда пациент испытывает симптом.Он включает в себя идентификатор, всеобъемлющую категорию симптомов (заболевание), возникший симптом и дату его появления.Я хотел бы повернуть эти данные, чтобы подсчитать, сколько раз каждый уникальный набор заболеваний / симптомов происходил в каждом данном месяце.Я уверен, что решение существует здесь, на StackOverflow, и я искал, но я не нашел ничего, что привело бы меня туда, где это должно быть.Я предоставил примерный набор данных, а также ожидаемый результат, очевидно созданный вручную.
id <- c(sprintf("A%03d", 1:3), sprintf("B%03d", 1:5))
c("disease", "symptom", "date")
x <- c(rep("bronchitis", 3), rep("flu", 5))
y <- c(rep("coughing", 2), "congestion", rep("fever", 3), "aches", "fatigue")
z <- as.factor(c("Jan 27, 2019", "Jan 26, 2019", "Dec 27, 2018", "Dec 03,
2018", "Dec 18, 2018", "Nov 14, 2018", "Nov 21, 2018", "Jan 15, 2019"))
df <- data.frame("id" = id, "disease" = x, "symptom" = y, "date" = z)
df
a <- c(rep("bronchitis", 2), rep("flu", 3))
b <- c("cough", "congestion", "fever", "aches", "fatigue")
c <- c(0,0,1,1,0)
d <- c(0,1,2,0,0)
e <- c(2, 0, 0, 0, 1)
df2 <- data.frame("disease" = a, "symptom" = b, "Nov" = c, "Dec" = d, "Jan" = e)
df - исходный набор данных, df2 - ожидаемый результат