gsub() в R не заменяет '.' (Точка)
Я новичок в R и хотел заменить точки в "2014.06.09" на "2014-06-09". Я использую для этого функцию gsub(). Если
> x="2014.06.09"
> gsub('2','-',x)
[1] "-014.06.09"
Но когда я пытаюсь
> gsub('.','-',x)
[1] "----------"
вместо "2014-06-09".
PS- класс (x) является символом
Могут ли кто-то предложить мне способ получить это право, а также почему он не работает для ". (Точка)
Ответы
Ответ 1
Возможно, вам придется сбежать .
который является специальным символом, который означает "любой символ" (из комментария @Mr Flick)
gsub('\\.', '-', x)
#[1] "2014-06-09"
Или
gsub('[.]', '-', x)
#[1] "2014-06-09"
Или как @Moix, упомянутый в комментариях, мы также можем использовать fixed=TRUE
вместо экранирования символов.
gsub(".", "-", x, fixed = TRUE)