如何在r中使用pivot_wider()


R 中Tidyr包的ivot_wider()函数可用于将数据块从长格式旋转为宽格式。

该函数使用以下基本语法:

 library (tidyr)

df %>% pivot_wider(names_from = var1, values_from = var2)

金子:

  • name_from :其值将用作列名称的列
  • value_from :其值将用作单元格值的列

下面的例子展示了如何在实际中使用这个功能。

相关:长数据或宽数据:有什么区别?

示例:在 R 中使用pivot_wider()

假设我们在 R 中有以下数据框,其中包含有关各种篮球运动员的信息:

 #create data frame
df <- data. frame (player=rep(c('A', 'B'), each= 4 ),
                 year=rep(c(1, 1, 2, 2), times= 2 ),
                 stat=rep(c('points', 'assists'), times= 4 ),
                 amount=c(14, 6, 18, 7, 22, 9, 38, 4))

#view data frame
df

  player year stat amount
1 A 1 points 14
2 A 1 assists 6
3 A 2 points 18
4 A 2 assists 7
5 B 1 points 22
6 B 1 assists 9
7 B 2 points 38
8 B 2 assists 4

我们可以使用pivot_wider()函数将此数据框旋转为宽格式:

 library (tidyr)

#pivot the data frame into a wide format
df %>% pivot_wider(names_from = stat, values_from = amount)

# A tibble: 4 x 4
  player year points assists
         
1 A 1 14 6
2 A 2 18 7
3 B 1 22 9
4 B 2 38 4

请注意,统计列中的值现在用作列名称,金额列中的值用作这些新列中的单元格值。

最终结果是一大块数据。

注意:您可以在此处找到pivot_wider()函数的完整文档。

其他资源

以下教程解释了如何在 R 中使用 Tidyr 包中的其他常用函数:

如何使用R中的Spread函数
如何使用R中的collect函数
如何在 R 中使用单独的函数
如何使用R中的Unite函数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注