Код перестройки на основе тидира не дает результата в R - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть следующий фрейм данных

df1<-data.frame( "ID"=c("ID1", "ID1", "ID2", "ID2", "ID1"),"A_Frequency"=c(1,2,3,4,5), "A_Axis"=c(.2,.3,.2,.4,.2),"B_Frequency"=c(NA, NA, NA, NA, NA), "B_Axis"=c(NA, NA, NA, NA, NA))

Фрейм данных выглядит следующим образом

   ID   A_Frequency A_Axis  B_Frequency B_Axis
1 ID1           1    0.2          NA     NA
2 ID1           2    0.3          NA     NA
3 ID2           3    0.2          NA     NA
4 ID2           4    0.4          NA     NA
5 ID1           5    0.2          NA     NA

Я хочу изменить форму фрейма следующим образом (ожидаемый результат)

  ID  A_Frequency  A_Axis   B_Frequency B_Axis
1 ID1         1     0.2           1     NA
2 ID1         2     0.3           2     NA
3 ID1         3     NA            3     NA
4 ID1         4     NA            4     NA
5 ID1         5     0.2           5     NA
6 ID2         3     0.2           3     NA
7 ID2         4     0.4           4     NA

Я попробовал следующий код, чтобы получить вышеуказанный вывод

library(tidyr)
df1 %>% complete(ID, nesting(A_Frequency=full_seq(A_Frequency,1), 
B_Frequency=full_seq(B_Frequency,1)))

Я получаю следующую ошибку.

 Error in UseMethod("full_seq") : 
 no applicable method for 'full_seq' applied to an object of class "logical"

Могу ли я получить помощь, чтобы выполнить то же самое?

...