如何在 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 ()函数。

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

添加评论

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