从R中的字符串中删除字符

时间:2017-03-23 10:40:56

标签: r dataframe gsub

我有一个数据框,如下所示:

data$Latitude
"+28.666428" "+28.666470" "+28.666376" "+28.666441" "+28.666330" "+28.666391"

str(data$Latitude)
Factor w/ 1368 levels "+10.037451","+10.037457",..

我想删除" +"来自每个纬度值的字符。 我尝试使用gsub()

data$Latitude<-gsub("+","",as.character(factor(data$Latitude)))

这不起作用。

1 个答案:

答案 0 :(得分:1)

您可以结合使用sapplysubstringregexpr来获得结果。
regexpr(<character>,<vector>)[1]为您提供角色的索引 使用该值作为substring的起始索引,字符串的其余部分可以分开 sapply允许您遍历值。

这是数据。

d<-c("+28.666428","+28.666470","+28.666376","+28.666441","+28.666330")

这是逻辑。

v <- sapply(d, FUN = function(d){substring(d, regexpr('+',d) + 1, nchar(d))}, USE.NAMES=FALSE)  

这是输出

> v
[1] "28.666428" "28.666470" "28.666376" "28.666441" "28.666330" "28.666391"