Я работаю с пакетом mlo git. Пакет имеет некоторые не прощающие требования к данным. Для каждого ключа в наборе данных должно быть одинаковое количество строк.
Ниже приведен пример с примером:
library(reprex)
#> Warning: package 'reprex' was built under R version 3.5.3
## Have This
df <- tibble( key = c(1,1,1,1,1,2,2,2,2,3,3,3),y=c(2,2,2,2,2,2,2,2,2,2,2,2), z=c(TRUE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,FALSE,FALSE,TRUE,FALSE,FALSE))
#> Error in tibble(key = c(1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3), y = c(2, : could not find function "tibble"
df
#> function (x, df1, df2, ncp, log = FALSE)
#> {
#> if (missing(ncp))
#> .Call(C_df, x, df1, df2, log)
#> else .Call(C_dnf, x, df1, df2, ncp, log)
#> }
#> <bytecode: 0x0000000013f046d0>
#> <environment: namespace:stats>
#Want this via tidyverse
df2 <- tibble( key = c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3),y=c(2,2,2,2,2,2,2,2,2,0,2,2,2,0,0), z=c(TRUE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE))
#> Error in tibble(key = c(1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3), : could not find function "tibble"
df2
#> Error in eval(expr, envir, enclos): object 'df2' not found
Создано в 2020-05-02 пакетом Представления (v0.3.0)
df имеет три ключа 1, 2 и 3. Ключ 1 имеет пять рядов наблюдения, Ключ 2 имеет четыре ряда наблюдения, а Ключ 3 имеет три ряда. Мне нужно, чтобы у каждого ключа было 5 рядов наблюдения, и я хотел бы добиться этого с помощью тидиверса. Я думал, что add_row () может быть моим решением, но я не мог заставить его работать. Это возможно.
В моем примере у меня df как до и df2 как желаемый после.
Создано в 2020-05-02 пакетом Представить (v0.3.0)