首页 > 解决方案 > 在 reshape 后使用 pivot_wider() 将第一列分成两列

问题描述

我使用 pivot_wider 函数从以下位置转置数据帧:

metric    shop1     shop2    shop3    shop4
sales     10        12       14       16
county    orange    sperling wood     riverside

使用此代码:

df_new <- pivot_wider(df, 
                      cols = c("shop1", "shop2", 
                      "shop3", "shop4"),
                      cols = shop)

我得到以下信息:

measure  name      value
sales    shop1     10
sales    shop2     12
sales    shop3     14
sales    shop4     16
county   shop1     orange
county   shop2     sperling 
county   shop3     wood
county   shop4     riverside

我希望对销售、县和商店有单独的列。我怎么做?

标签: r

解决方案


从您当前的数据集中,您应该考虑执行以下操作:

data.table::transpose(df, make.names = TRUE,keep.names = 'shop')

   shop sales    county
1 shop1    10    orange
2 shop2    12  sperling
3 shop3    14      wood
4 shop4    16 riverside

推荐阅读