Estou tentando reunir dois conjuntos de colunas. Cada conjunto precisa terminar em uma nova coluna, mas os dados das linhas estão vinculados, portanto, o uso sequencial de tidyr::gather()
não garantirá a retenção da organização entre colunas. Parece que tidyr::pivot_longer()
posso conseguir isso, mas estou perplexo. Uma postagem semelhante está aqui , mas a resposta envolve o uso do grep para renomear colunas, o que não consigo desvendar e também não deveria ser necessário aqui.
library(tidyverse)
df <- data.frame(
Position=1:5,
A_Width=3:7,
B_Width=4:8,
A_Error=seq(0, 2.0, 0.5),
B_Error=seq(0.3, 1.5, 0.3)
)
df <- df %>%
tidyr::pivot_longer(
cols=c(A_Width, B_Width, A_Error, B_Error),
names_to= ? ,
names_pattern= ? ,
)
##Desired Data Frame
df_long <- data.frame(
Position=rep(1:5,2),
Group=c(rep("A",5), rep("B",5)),
Width=c(3:7,4:8),
Error=c(seq(0, 2.0, 0.5), seq(0.3, 1.5, 0.3))
)