如何在 r 中使用单独的函数(附示例)
Tidyr包的Separate()函数可用于将数据框列分成多个列。
该函数使用以下基本语法:
分隔(数据、列、进入、九月)
金子:
- data : 数据框的名称
- col :要分隔的列的名称
- into :要分成的列的名称向量
- 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), stats=c('22-2', '29-3', '18-6', '11-8', '12-5', '19-2')) #view data frame df player year stats 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
我们可以使用Separate()函数将统计列分成两个新列,分别称为“points”和“assists”,如下所示:
library (tidyr) #separate stats column into points and assists columns separate(df, col=stats, into=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), stats=c('22/2/3', '29/3/4', '18/6/7', '11/1/2', '12/1/1', '19/2/4 ')) #view data frame df2 player year stats 1 A 1 22/2/3 2 A 2 29/3/4 3 B 1 18/6/7 4 B 2 11/1/2 5 C 1 12/1/1 6 C 2 19/2/4
我们可以使用Separate()函数将统计列分成三个单独的列:
library (tidyr) #separate stats column into three new columns separate(df, col=stats, into=c(' points ', ' assists ', ' steals '), sep=' / ') player year points assists steals 1 A 1 22 2 3 2 A 2 29 3 4 3 B 1 18 6 7 4 B 2 11 1 2 5 C 1 12 1 1 6 C 2 19 2 4
其他资源
Tidyr包的目标是创建“整洁”的数据,它具有以下特征:
- 每列都是一个变量。
- 每一行都是一个观察。
- 每个单元格都是一个唯一的值。
Tidyr 包使用四个主要函数来创建有序数据:
1. spread()函数。
2.gather ()函数。
3.separate ()函数。
4.unit ()函数。
如果掌握了这四个功能,您将能够从任何数据帧创建“整齐”的数据。