【发布时间】:2021-09-03 01:18:07
【问题描述】:
我有大约 13 列和 20,000 行数据。其中一列有描述细节。描述列有一个或多个值,使用分隔符分隔,如“,”,“-”,“/”,“&”。需要根据使用的不同分隔符将 Description 列拆分为多个列。有些值可能只是一个词,不需要拆分。请帮我解决这个问题。
这是我尝试过的一段代码。但它不起作用。
df=as.data.frame(openxlsx::read.xlsx("Sample data.xlsx",sheet=1,colNames=TRUE,skipEmptyRows=TRUE))
newdf <- data.frame()
for (i in 1:nrow(df))
{
out <- strsplit(as.character(df$SHORT_DESC[i]),',')
newdf <- rbind(newdf, data.frame(t(sapply(out, `[`))))
}
在此之后,我计划按列合并原始数据框(不包括描述)和新数据框(描述分隔在多列中)。但是我上面的代码失败了,我也想用几行代码来执行这个操作。
输入和输出:
NO SHORT_DESC
1 SEAT, HELICAL, COMPRESSION SPRING
2 RIVET, SOLID, 100 DEGREE COUNTERSUNK HEA
3 WIRE,NICKEL-COPPER,BULK
4 INDUCTOR/ EMI SUPPRESSION
5 CHOKE
6 NOM PLATE & LENS
No SHORT_DESC1 SHORT_DESC2 SHORT_DESC3 SHORT_DESC4
1 SEAT HELICAL COMPRESSION SPRING
2 RIVET SOLID 100 DEGREE COUNTERSUNK HEA
3 WIRE NICKEL COPPER BULK
4 INDUCTOR EMI SUPPRESSION
5 CHOKE
6 NOM PLATE LENS
【问题讨论】:
-
图片不是共享数据/代码的正确方式。以更易于复制的可复制格式添加它们。阅读how to give a reproducible example。