在执行以下操作时,如何阻止dplyr自动拆分名称
gather
separate
?
cost <- data.frame(Date = rep('1970-01-01', 3),
Atr = runif(3),
Atrb = runif(3),
a_t = runif(3),
b_t = runif(3),
a_t = runif(3),
b_t = runif(3),
a_t = runif(3),
b_t = runif(3))
names(cost) <- c('Date', 'Atr','Atrb','a_t','b_t','a_t','b_t','a_t','b_t')
# Now we reshape and see the problem
idx = 4:9
names(cost)[idx] = paste0(names(cost)[idx], ".", c(sapply(LETTERS[1:3], rep, times = 2)) )
cost.long = cost %>%
gather(key, value, -c(Date:Atrb)) %>%
separate(key, into = c("Metric", "Group"))
cost.long
您会注意到,在输出中,变量名称已被拆分,现在只有一个组
t
:
> cost.long
Date Atr Atrb Metric Group value
1 1970-01-01 0.3555041 0.9343369 a t 0.9022378
2 1970-01-01 0.2812809 0.9770834 a t 0.0204206