如何将数据框转换为两列数据框,其中值和列名作为 R 中的变量?

要将数据框转换为两列数据框,其中值和列名作为 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

猜你喜欢