A:如何在所有列上使用pivot_longer()
R 中Tidyr包的ivot_longer()函数可用于将数据块从宽格式旋转为长格式。
如果要使用此函数以长格式旋转数据框中的所有列,可以使用以下语法:
library (tidyr)
df_long <- pivot_longer(df, cols = everything())
请注意, cols参数指定要旋转哪些列,而everything()指定我们要旋转每一列。
下面的例子展示了如何在实际中使用这个功能。
示例:在 R 中的所有列上使用ivot_longer()
假设我们在 R 中有以下数据框,显示不同篮球运动员在三场不同比赛中的得分:
#create data frame
df <- data. frame (game1=c(20, 30, 33, 19, 22, 24),
game2=c(12, 15, 19, 19, 20, 14),
game3=c(22, 29, 18, 12, 10, 11))
#view data frame
df
game1 game2 game3
1 20 12 22
2 30 15 29
3 33 19 18
4 19 19 12
5 22 20 10
6 24 14 11
数据帧目前采用宽格式。
但是,假设我们希望通过旋转所有三列来将数据框旋转为长格式。
我们可以使用以下语法来做到这一点:
library (tidyr)
#pivot all columns into long data frame
df_long <- pivot_longer(df, cols = everything())
#view long data frame
df_long
# A tibble: 18 x 2
name value
1 game1 20
2 game2 12
3 game3 22
4 game1 30
5 game2 15
6 game3 29
7 game1 33
8 game2 19
9 game3 18
10 game1 19
11 game2 19
12 game3 12
13 game1 22
14 game2 20
15 game3 10
16 game1 24
17 game2 14
18 game3 11
请注意,列名称game1 、 game2和game3现在用作名为“name”的新列中的值,并且这些原始列中的值放置在名为“value”的新列中。
最终结果是一个长数据帧。
注意:您可以在此处找到pivot_longer()函数的完整文档。
其他资源
以下教程解释了如何在 R 中使用 Tidyr 包中的其他常用函数:
如何在R中使用pivot_wider()
如何使用R中的Spread函数
如何使用R中的collect函数
如何在 R 中使用单独的函数
如何使用R中的Unite函数