У меня есть два следующих кадра данных: первая представляющая частота и вторая, представляющая отдельные события. Я пытаюсь добавить столбец ко второму данным, который объединяет данные от первого ко второму, обусловленные строкой/столбцом.Слияние преобразованных кадров данных и репликационных значений на основе категорий
event a b c
w 0 1 3
x 3 4 0
y 6 0 4
z 0 0 4
event person
w b
w b
x a
x b
x b
z c
z a
y b
y c
y a
y c
counts <- data.frame (event= c("w", "x", "y", "z"), a= c(0, 3, 6, 0), b=c(1, 4, 0, 0), c=c(3, 0, 4, 4))
cases <- data.frame(event=c("w", "w", "x", "x", "x", "z", "z", "y", "y", "y", "y"),
person=c("b", "b", "a", "b", "b", "c", "a", "b", "c", "a", "c"))
Цель:
case person freq
w b 1
w b 1
x a 3
x b 4
x b 4
z c 0
z a 0
y b 0
y c 4
y a 6
y c 4
без особого успеха. Я смог использовать пакет reshape
для генерации первого DF частот, но не могу понять, как их объединить.
Попробованная 'merge' ?. – TheComeOnMan
@Codoremifa: В этом случае я не видел стратегии использования 'merge'. Позаботьтесь о том, что вы думаете? –
Надеюсь, я правильно понял вопрос - 'library (reshape2); countsmeltted <- melt (counts, id.vars = "event"); colnames (countsmelted) <- c («событие», «человек», «частота»); merge (case, countsmelted, all.x = TRUE, by = c ("event", "person")); ' – TheComeOnMan