使用未拆分的独立()fn拆分";|";的行 [英] Splitting the rows that has "|" using separate() fn not splitted
本文介绍了使用未拆分的独立()fn拆分";|";的行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的数据看起来像
> company
name category_list
11 1-4 All Entertainment|Games|Software
12 1.618 Technology Networking|Real Estate|Web Hosting
13 1-800-DENTIST Health and Wellness
14 1-800-DOCTORS Health and Wellness
15 1-800-PublicRelations, Inc. Internet Marketing|Media|Public Relations
我必须根据值拆分CATEGORY_LIST列。当值用竖线分隔时,应拆分该行。
我使用独立函数尝试了相同的方法,但列中没有填充任何值
c1 <- company %>% separate(category_list,into=c("primary_Sector"), sep="|")
实际产量:
name primary_Sector
11 1-4 All
12 1.618 Technology
13 1-800-DENTIST
14 1-800-DOCTORS
15 1-800-PublicRelations, Inc.
预期输出
name category_list
11 1-4 All Entertainment
12 1-4 All Games
13 1-4 All Software
有人能告诉我出了什么问题吗?
推荐答案
tidyr::separate()
按列分隔,tidyr::separate_rows()
按行分隔:
library(tidyr)
read.table(
text="name;category_list
1-4 All;Entertainment|Games|Software
1.618 Technology;Networking|Real Estate|Web Hosting
1-800-DENTIST;Health and Wellness
1-800-DOCTORS;Health and Wellness
1-800-PublicRelations, Inc.;Internet Marketing|Media|Public Relations",
sep=";", header = TRUE, stringsAsFactors = FALSE
) %>%
separate_rows(category_list, sep = "\|")
## name category_list
## 1 1-4 All Entertainment
## 2 1-4 All Games
## 3 1-4 All Software
## 4 1.618 Technology Networking
## 5 1.618 Technology Real Estate
## 6 1.618 Technology Web Hosting
## 7 1-800-DENTIST Health and Wellness
## 8 1-800-DOCTORS Health and Wellness
## 9 1-800-PublicRelations, Inc. Internet Marketing
## 10 1-800-PublicRelations, Inc. Media
## 11 1-800-PublicRelations, Inc. Public Relations
这篇关于使用未拆分的独立()fn拆分";|";的行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文