如何在R中透视我的数据帧,使其转换为此特定格式的另一个数据帧?

如何在R中透视我的数据帧,使其转换为此特定格式的另一个数据帧?,r,dataframe,pivot,R,Dataframe,Pivot,我在R中有一个小的数据帧,名为df1 以下是数据框的外观: SubDept2 BasicSalary BenchmarkSalary Admin 10000 20000 Bar 9880 12000 Entertainment 11960 17000 F&B 9680 12000 Finance

我在R中有一个小的
数据帧
,名为
df1

以下是
数据框的外观:

SubDept2        BasicSalary     BenchmarkSalary
Admin             10000          20000
Bar                9880          12000
Entertainment     11960          17000
F&B                9680          12000
Finance           10310          17500
Housekeeping       9960          12000
Kitchen            9680          12000
Leisure & Sport   10775          17000
Maintenance       10240          10000
Restaurant         9880          12000
Rooms Division     9680          12000
Security          10250          11000
Spa                9450          12000
我想
pivot
这个
数据帧
,结果如下:

SubDept2              Amount     Type
 Admin                10000      BasicSalary
 Bar                   9880      BasicSalary
 Entertainment        11960      BasicSalary
 F&B                   9680      BasicSalary
 Finance              10310      BasicSalary
 Housekeeping          9960      BasicSalary
 Kitchen               9680      BasicSalary
 Leisure & Sport      10775      BasicSalary
 Maintenance          10240      BasicSalary
 Restaurant            9880      BasicSalary
 Rooms Division        9680      BasicSalary
 Security             10250      BasicSalary
 Spa                   9450      BasicSalary
 Admin                20000      BenchmarkSalary
 Bar                  12000      BenchmarkSalary
 Entertainment        17000      BenchmarkSalary
 F&B                  12000      BenchmarkSalary
 Finance              17500      BenchmarkSalary
 Housekeeping         12000      BenchmarkSalary
 Kitchen              12000      BenchmarkSalary
 Leisure & Sport      17000      BenchmarkSalary
 Maintenance          10000      BenchmarkSalary
 Restaurant           12000      BenchmarkSalary
 Rooms Division       12000      BenchmarkSalary
 Security             11000      BenchmarkSalary
 Spa                  12000      BenchmarkSalary

如何才能做到这一点?

请不要发布被问了数百次的问题的答案,请将其标记为副本。这样你将帮助OP找到更多的答案和丰富的讨论。此外,管道与此问题无关。请不要转发已删除的评论。如果你的评论被删除,这意味着它首先不属于这里,重新发布它只会导致你重新发布的评论再次被删除。
library(tidyr)
df %>% gather(value='amount',key='Type',-SubDept2) %>% head(n=5)

       SubDept2        Type amount
1         Admin BasicSalary  10000
2           Bar BasicSalary   9880
3 Entertainment BasicSalary  11960
4           F&B BasicSalary   9680
5       Finance BasicSalary  10310