использование pivot_long для размещения столбца даты

#r #dplyr

Вопрос:

У меня есть набор данных временных рядов , который я расширяю pivot_longer , однако при использовании даты путаются.

Код

 library(dplyr)  ID = c("297557", "279557", "280485", "280485") Date = c("1/1/2020", "1/2/2020", "1/1/2020", "1/2/2020") Var1 = c("1", "3", "5", "7") Var2 = c("2", "4", "6", "8")  df = data.frame(ID, Date, Var1, Var2) df = df %gt;% pivot_longer(-ID)   

Выход

 # A tibble: 12 x 3  ID name value   lt;chrgt; lt;chrgt; lt;chrgt;   1 297557 Date 1/1/2020  2 297557 Var1 1   3 297557 Var2 2   4 279557 Date 1/2/2020  5 279557 Var1 3   6 279557 Var2 4   7 280485 Date 1/1/2020  8 280485 Var1 5   9 280485 Var2 6  10 280485 Date 1/2/2020 11 280485 Var1 7  12 280485 Var2 8   

Желаемый результат

 ID Date Value  279557 1/1/2020 1  279557 1/1/2020 2 279557 1/2/2020 3 279557 1/1/2020 4  280485 1/1/2020 5  280485 1/1/2020 6 280485 1/2/2020 7 280485 1/2/2020 8  

Ответ №1:

Вы можете попробовать

 df %gt;%  pivot_longer(-c(ID, Date)) # %gt;% select(-name) # to remove name column   ID Date name value  lt;chrgt; lt;chrgt; lt;chrgt; lt;chrgt; 1 297557 1/1/2020 Var1 1  2 297557 1/1/2020 Var2 2  3 279557 1/2/2020 Var1 3  4 279557 1/2/2020 Var2 4  5 280485 1/1/2020 Var1 5  6 280485 1/1/2020 Var2 6  7 280485 1/2/2020 Var1 7  8 280485 1/2/2020 Var2 8