R 将数据转换为长格式--在观测值之间插入其他变量
我在R中有以下数据帧:R 将数据转换为长格式--在观测值之间插入其他变量,r,data-cleaning,R,Data Cleaning,我在R中有以下数据帧: ID Count 31/10/2019 15 01 1 02 2 03 5 04 7 01/11/2019 14 01 1 02 4 03 5 04 5 02/11/2019
ID Count
31/10/2019 15
01 1
02 2
03 5
04 7
01/11/2019 14
01 1
02 4
03 5
04 5
02/11/2019 10
01 1
02 2
03 3
04 4
我想把它改为:
ID Count Date
01 1 31/10/2019
02 2 31/10/2019
03 5 31/10/2019
04 7 31/10/2019
01 1 01/11/2019
02 4 01/11/2019
03 5 01/11/2019
04 5 01/11/2019
01 1 02/11/2019
02 2 02/11/2019
03 3 02/11/2019
04 4 02/11/2019
我想用gather,但不知道怎么用。有人能帮我吗?谢谢大家! 我们可以创建一个新列
Date
,其中值为ID
如果Color
列为空,否则NA
,填充Date
列,并从Color
列中删除空值
library(dplyr)
df %>%
mutate(Date = ifelse(Color == "", ID, NA)) %>%
tidyr::fill(Date) %>%
filter(Color != "")
# ID Color Date
#1 01 blue 31/10/2019
#2 02 cyan 31/10/2019
#3 03 red 31/10/2019
#4 04 black 31/10/2019
#5 01 blue 01/11/2019
#6 02 cyan 01/11/2019
#7 03 red 01/11/2019
#8 04 black 01/11/2019
#9 01 blue 02/11/2019
#10 02 cyan 02/11/2019
#11 03 red 02/11/2019
#12 04 black 02/11/2019