Я провел 5 измерений присутствия / отсутствия на нескольких сайтах, суммировал их вместе и получил фрейм данных, который выглядел примерно так:
df <- data.frame("site" = c("a", "b", "c"),
"species1" = c(0, 2, 1),
"species2" = c(5, 2, 4))
ie. на участке "a" разновидность 1 была зарегистрирована 0/5 раз, а разновидность 2 была зарегистрирована 5/5 раз.
Я хотел бы преобразовать это обратно в данные о присутствии / отсутствии. Примерно так:
data.frame("site" = ("a", "b", "c"),
"species1" = c(0,0,0,0,0, 1,1,0,0,0, 1,0,0,0,0),
"species2" = c(1,1,1,1,1, 1,1,0,0,0, 1,1,1,1,0))
Я могу продублировать каждую строку 5 раз с:
df %>% slice(rep(1:n(), each = 5))
, но я не могу понять, как заменить «2» на «1,1, 0,0,0 ". В идеале порядок единиц и нулей (внутри каждого сайта) также должен быть случайным (ie. «0,0,1,0,1»), но это может быть слишком сложно.
Любая помощь были бы признательны.