我正在尝试使用pivot_longer 将数据帧从宽格式转换为长格式。
原始数据框是:
df.start <- structure(list(amprise = 0.015, ampfull = 0.005, ampfall = 0.03, freq1 = 250L, freq2 = 500L, freq3 = 750L, relamp1 = 0.01, relamp2 = 0.3, relamp3 = 0.02), class = "data.frame", row.names = c(NA, -1L))
看起来像:
> df.start
amprise ampfull ampfall freq1 freq2 freq3 relamp1 relamp2 relamp3
1 0.015 0.005 0.03 250 500 750 0.01 0.3 0.02
我想将其压缩为六列:
> df.end
harmonic amprise ampfull ampfall freq relamp
1 1 0.015 0.005 0.03 250 0.01
2 2 0.015 0.005 0.03 500 0.30
3 3 0.015 0.005 0.03 750 0.02
我的理解是从这个帖子 https://stackoverflow.com/questions/60317889/pivot-longer-with-groups-of-columns我可以用cols = -c("amprise", "ampfull", "ampfall")
将该组列保留为宽格式。
我还可以看到我应该能够在中使用正则表达式names_pattern
从剩余的列名称中删除前缀以填充谐波列。但是,我正在努力将它们正确地组合在一起。
任何帮助将不胜感激!