如何在r中使用pivot_longer()


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

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

 library (tidyr)

df %>% pivot_longer(cols=c(' var1 ', ' var2 ', ...),
                    names_to=' col1_name ',
                    values_to=' col2_name ')

金子:

  • cols :要透视的列的名称
  • names_to :新字符列的名称
  • value_to :新值列的名称

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

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

示例:在 R 中使用ivot_longer()

假设我们在 R 中有以下数据框,显示不同年份不同篮球运动员的得分数:

 #create data frame
df <- data. frame (player=c('A', 'B', 'C', 'D'),
                 year1=c(12, 15, 19, 19),
                 year2=c(22, 29, 18, 12))

#view data frame
df

  player year1 year2
1 to 12 22
2 B 15 29
3 C 19 18
4 D 19 12

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

 library (tidyr)

#pivot the data frame into a long format
df %>% pivot_longer(cols=c(' year1 ', ' year2 '),
                    names_to=' year ',
                    values_to=' points ')

# A tibble: 8 x 3
  player year points
      
1 A year1 12
2 A year2 22
3 B year1 15
4 B year2 29
5 C year1 19
6 C year2 18
7 D year1 19
8 D year2 12

请注意,列名year1year2现在用作名为“year”的新列中的值,并且这些原始列中的值放置在名为“points”的新列中。

最终结果是一个长数据帧。

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

其他资源

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

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

添加评论

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