迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 R 中将列拆分为两列

作者:迹忆客 最近更新:2023/03/21 浏览次数:

本文将介绍如何在 R 中使用 separate 将一列拆分为两列。

在 R 中使用 separate 函数将列拆分为两列

separatetidyr 包的一部分,它可用于将一个字符列拆分为多个带有正则表达式或数字位置的列。在此代码示例中,我们声明了一个包含逗号分隔的姓名/姓氏对字符串的数据框。separate 函数将数据框作为第一个参数,将列名作为第二个参数。第三个参数表示将成为新创建的字符向量的列名的变量名。请注意,我们使用 %>% 管道将 df 对象传递给 separate 函数。可以在名称和姓氏用点分隔符分隔的数据帧上调用相同的函数调用。

library(dplyr)
library(tidyr)
library(stringr)

df <- data.frame(x = c('John, Mae', 'Maude, Lebowski', 'Mia, Amy', 'Andy, James'))
df1 <- data.frame(x = c('John. Mae', 'Maude. Lebowski', 'Mia. Amy', 'Andy. James'))

df %>% separate(x, c('Name', 'Surname'))

df1 %>% separate(x, c('Name', 'Surname'))

输出:

> df %>% separate(x, c('Name', 'Surname'))
   Name   Surname
1  John       Mae
2 Maude  Lebowski
3   Mia       Amy
4  Andy     James

> df1 %>% separate(x, c('Name', 'Surname'))
   Name  Surname
1  John      Mae
2 Maude Lebowski
3   Mia      Amy
4  Andy    James

在 R 中使用 extract 函数将列拆分为两列

将一列拆分为两个单独的列的另一个有用功能是 extract,它也是 tidyr 包的一部分。extract 函数适用于使用正则表达式组的列。请注意,每个正则表达式组都应映射到前一个参数中的项目。如果组和项目不匹配,则输出将具有 NA 值。

library(dplyr)
library(tidyr)
library(stringr)

df <- data.frame(x = c('John, Mae', 'Maude, Lebowski', 'Mia, Amy', 'Andy, James'))

df %>% extract(x, c("Name", "Surname"), "([^,]+), ([^)]+)")

输出:

> df %>% extract(x, c("Name", "Surname"), "([^,]+), ([^)]+)")

   Name  Surname
1  John      Mae
2 Maude Lebowski
3   Mia      Amy
4  Andy    James

使用 str_split_fixed 函数将 R 中的列拆分为两列

或者,我们可以使用 stringr 包中的 str_split_fixed 函数。它匹配给定的字符模式并将字符向量拆分为相应的列数。虽然,用户可以明确地传递要返回的拆分项目的数量。项目数作为第三个参数传递。

library(dplyr)
library(tidyr)
library(stringr)

df <- data.frame(x = c('John, Mae', 'Maude, Lebowski', 'Mia, Amy', 'Andy, James'))

str_split_fixed(df$x, ", ", 2)

输出:

> str_split_fixed(df$x, ", ", 2)
     [,1]    [,2]      
[1,] "John"  "Mae"     
[2,] "Maude" "Lebowski"
[3,] "Mia"   "Amy"     
[4,] "Andy"  "James"

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

R 中具有多个条件的函数向量化

发布时间:2023/03/21 浏览次数:64 分类:编程语言

一项常见的数据分析任务是根据同一行的其他列使用一个或多个条件创建或更新数据框列。 如果我们尝试使用 if 语句来执行此操作,则只会使用第一行来测试条件,并且会根据该行更

在 R 中读取 xlsx 文件

发布时间:2023/03/21 浏览次数:66 分类:编程语言

在这篇文章中,你将会了解到两个在 R 中读取 xlsx 文件的最完整和最容易使用的库:readxl 和 openxlsx。

清理 R 的环境

发布时间:2023/03/21 浏览次数:178 分类:编程语言

在本教程中,你将学习如何在 R 中编写一个函数,在不需要重新启动 R 的情况下清除环境。

在 R 中注释掉多行

发布时间:2023/03/21 浏览次数:63 分类:编程语言

在本文中,你将学习如何在 R 中注释出多行,而不必在每一行的开头手动写一个#字符来注释。

在 R 中清除内存

发布时间:2023/03/21 浏览次数:197 分类:编程语言

在本教程中,你将学习如何清除 R 系统占用的内存,而不必重新启动它或重新启动它运行的计算机。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便