如何使用 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 ()函数。
如果掌握了这四个功能,您将能够从任何数据帧创建“整齐”的数据。