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函数