我有一个纯粹的数字数据框,我想要将它们的列堆叠(连接)在一起.stack干得好:
foo <- matrix(rnorm(100),20,5)
foo <- data.frame(foo)
bar <- stack(foo)
Run Code Online (Sandbox Code Playgroud)
但是,我不喜欢给出的默认列名stack,即values和id.当然,我可以改变它们
colnames(bar) <- c("x","y")
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有任何功能可以让我定义结果(堆叠)数据帧的列名.
您可以使用库中的melt功能reshape2:
library(reshape2)
bar <- melt(foo, value.name = "x", variable.name = "y")
Run Code Online (Sandbox Code Playgroud)
PS:
melt功能data.table完全相同的方式.