首页 > 解决方案 > 通过R从字符串中提取数据

问题描述

我有一个数据框,它具有列的第一类。下面提到的类别栏中的数据:

Application Platforms|Real Time|Social Network Media
Apps|Games|Mobile
Curated Web
Software
Games
Biotechnology
Analytics
Mobile
E-Commerce
Entertainment|Games|Software
Networking|Real Estate|Web Hosting

类别列表是由竖线(竖线|)分隔的多个子扇区的列表。我想提取主扇区,它是竖线(“|”)之前的第一个字符串。

这意味着我希望输出应该是,

Application Platforms
Apps
Curated Web
Software
Games
Biotechnology
Analytics
Mobile
E-Commerce
Entertainment
Networking

请帮助我如何通过使用任何函数来做到这一点,我尝试过使用 stringr 包函数。

标签: rstringr

解决方案


使用strsplit

category1 <- strsplit(df$category, "|", fixed = TRUE)
df$category <- sapply(category1, `[[`, 1)     # or, purrr::map_chr(category1, 1)

sub我认为,此解决方案使您的意图比使用更清晰。再说一次,它需要一条额外的线。


推荐阅读