从因子数据类型列中提取空格前的字符/字符串

时间:2016-11-10 11:08:00

标签: r

我有一个R数据框,其中一列的因子数据类型包含该列中的所有文本。我想在空格之前考虑文本从该列中提取字符串。我尝试了gsub( " .*$", "", data[, 3] ),其中摘要是我的那个字段。但它不起作用。 例如:我的数据就像"abcd efgh ijk" & I want "abcd"  我尝试使用

将我的因子字段转换为字符字段
data[, 3] <- sapply(data[, 3], as.character)

但它未能在第一个空格之前检索字符串。你能帮忙吗?

很抱歉,我无法将数据放在此处,因为它是客户数据

2 个答案:

答案 0 :(得分:0)

尝试gsub( "\\s.*", "", data[3,] ) \s是空格的正则表达式。你需要额外的\所以R不会将\解释为转义字符。

x<-"abcd efgh ijk"
gsub( "\\s.*", "", x )
[1] "abcd"

这是一个有用的正则表达式备忘单: https://www.cheatography.com/davechild/cheat-sheets/regular-expressions/#downloads

答案 1 :(得分:0)

 x <- "abcd efgh ijk"
 strsplit(x, " ")[[1]][1]