A:如何将pivot_wider()与多列一起使用


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

如果要使用此函数旋转多列,可以使用以下语法:

 library (tidyr)

df_wide <- pivot_wider(df, names_from=group, values_from=c(values1, values2))

通过向values_from参数提供多个列名,您可以一次旋转多个列。

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

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

示例:在 R 中对多列使用pivot_wider()

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

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
                 player=c('G', 'F', 'C', 'G', 'F', 'C'),
                 points=c(22, 34, 20, 15, 14, 19),
                 assists=c(4, 10, 12, 9, 8, 5))

#view data frame
df

  team player points assists
1 AG 22 4
2 AF 34 10
3 AC 20 12
4 BG 15 9
5 BF 14 8
6 BC 19 5

现在假设我们要同时旋转辅助列中的值。

我们可以使用以下语法来做到这一点:

 library (tidyr)

#pivot values in points and assists columns
df_wide <- pivot_wider(df, names_from=player, values_from=c(points, assists))

#view wide data frame
df_wide

# A tibble: 2 x 7
  team points_G points_F points_C assists_G assists_F assists_C
                             
1 A 22 34 20 4 10 12
2 B 15 14 19 9 8 5

请注意,球员列中的每个值都已与得分助攻相结合,总共创建了六个新列,显示每个位置球员的得分和助攻。

最终结果是一个总共有七列的大型数据框。

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

其他资源

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

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

添加评论

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