要将数据框转换为两列数据框,其中值和列名作为 R 中的变量,我们可以按照以下步骤操作 -
首先,创建一个数据框。
然后,使用堆栈函数转换数据帧。
让我们创建一个数据框,如下所示 -
x<-rpois(10,5) y<-rpois(10,2) z<-rpois(10,1) df<-data.frame(x,y,z) df输出结果
执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-
x y z 1 3 3 3 2 3 3 0 3 7 3 3 4 3 1 0 5 6 5 1 6 6 0 0 7 5 4 3 8 4 4 1 9 6 1 0 10 2 6 0
转换数据框
使用堆栈函数将数据帧 df 转换为两列数据帧,值和列名作为变量,如下所示 -
x<-rpois(10,5) y<-rpois(10,2) z<-rpois(10,1) df<-data.frame(x,y,z) stack(df)输出结果
values ind 1 5 x 2 7 x 3 7 x 4 3 x 5 4 x 6 3 x 7 4 x 8 5 x 9 6 x 10 10 x 11 3 y 12 3 y 13 3 y 14 2 y 15 2 y 16 2 y 17 4 y 18 1 y 19 1 y 20 1 y 21 1 z 22 0 z 23 0 z 24 1 z 25 0 z 26 1 z 27 1 z 28 0 z 29 2 z 30 1 z