Я пытаюсь изменить формат моего фрейма данных на основе значений данных одного столбца, чтобы представить повторяющиеся последовательности другого. Мой набор данных состоит из имени файла, количества наблюдений, даты и идентификации видов. Имея набор данных, как он есть (см. Ниже), мне удается только построить значения, для которых n> 0, но я бы хотел, чтобы у нулей был обзор пропорций без потери количества наблюдений.
Я пробовал использовать функцию tidyr :: spread, но я не хочу создавать новые столбцы на основе значений этого единственного столбца. Я хочу, чтобы другие столбцы (например, file.name, Date, ID) повторялись на основе значений первого (n). tidyr :: melt, похоже, тоже мне не подходит ...
Вот пример:
call_obs <- data.frame("file.name" = c("pa0095au_001_180315_192129.wav", "pa0095au_002_180315_193134.wav", "pa0095au_003_180315_194133.wav", "pa0097au_002_180316_004647.wav", "pa0097au_003_180316_005646.wav"), "ID" = c("HW","None", "None", "HW", "HW"), "n" = c(1,0,0,3,2),"Date" = c('2018-03-15','2018-03-15','2018-03-15', '2018-03-16', '2018-03-16'))
Я бы хотел что-то вроде
data.frame("file.name" = c("pa0095au_001_180315_192129.wav", "pa0095au_002_180315_193134.wav", pa0095au_003_180315_194133.wav", "pa0097au_002_180316_004647.wav", "pa0097au_002_180316_004647.wav", "pa0097au_002_180316_004647.wav", "pa0097au_003_180316_005646.wav", "pa0097au_003_180316_005646.wav"), "ID" = c("HW","None", "None", "HW", "HW", "HW", "HW", "HW"), "n" = c(1,0,0,1,1,1,1,1), "Date" = c('2018-03-15','2018-03-15','2018-03-15', '2018-03-16', '2018-03-16', '2018-03-16', '2018-03-16', '2018-03-16'))
Дата как Дата, file.name как символ, ID как фактор, n как цифра
Любая помощь будет отличной.