如何使用 r 中的 unite 函数(附示例)


Tidyr包的unit()函数可用于将多个数据帧列合并为单个列。

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

单位(数据、列、进入、九月)

金子:

  • data : 数据框的名称
  • col :新的普通列的名称
  • :要连接的列的名称向量
  • sep :如何在新的联合列中加入数据

以下示例展示了如何在实践中使用此功能。

示例 1:将两列合并为一列

假设我们在 R 中有以下数据框:

 #create data frame
df <- data. frame (player=c('A', 'A', 'B', 'B', 'C', 'C'),
                 year=c(1, 2, 1, 2, 1, 2),
                 dots=c(22, 29, 18, 11, 12, 19),
                 assists=c(2, 3, 6, 8, 5, 2))

#view data frame
df

  player year points assists
1 A 1 22 2
2 A 2 29 3
3 B 1 18 6
4 B 2 11 8
5 C 1 12 5
6 C 2 19 2

我们可以使用unit()函数将“points”和“assists”列合并为一列:

 library (tidyr)

#unite points and assists columns into single column
unit(df, col=' points-assists ', c(' points ', ' assists '), sep=' - ')

  player year points assists
1 A 1 22-2
2 A 2 29-3
3 B 1 18-6
4 B 2 11-8
5 C 1 12-5
6 C 2 19-2

示例 2:连接两列以上

假设我们在 R 中有以下数据框:

 #create data frame
df2 <- data. frame (player=c('A', 'A', 'B', 'B', 'C', 'C'),
                  year=c(1, 2, 1, 2, 1, 2),
                  dots=c(22, 29, 18, 11, 12, 19),
                  assists=c(2, 3, 6, 8, 5, 2),
                  blocks=c(2, 3, 3, 2, 1, 0))

#view data frame
df2

  player year points assists blocks
1 A 1 22 2 2
2 A 2 29 3 3
3 B 1 18 6 3
4 B 2 11 8 2
5 C 1 12 5 1
6 C 2 19 2 0

我们可以使用unit()函数将得分、助攻和盖帽列合并为一列:

 library (tidyr)

#unite points, assists, and blocks column into single column
unit(df2, col=' stats ', c(' points ', ' assists ', ' blocks '), sep=' / ')

  player year stats
1 A 1 22/2/2
2 to 2 3/29/3
3 B 1 18/6/3
4 B 2 11/8/2
5 C 1 12/5/1
6 C 2 19/2/0

其他资源

Tidyr包的目标是创建“整洁”的数据,它具有以下特征:

  • 每列都是一个变量。
  • 每一行都是一个观察。
  • 每个单元格都是一个唯一的值。

Tidyr 包使用四个主要函数来创建有序数据:

1. spread()函数。

2.gather ()函数。

3.separate ()函数。

4.unit ()函数。

如果掌握了这四个功能,您将能够从任何数据帧创建“整齐”的数据。

添加评论

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