это снова я,
У меня проблема с функцией sub () в R: в документации написано: "sub и gsub выполняют замену первого и всех совпадений соответственно."
У меня есть код, в котором я хочу заменить только один элемент другим (условно, скажем, что если элемент появляется, я хочу, чтобы он был два раза в векторе - но это не обязательная информация).
Однако, если я выполняю подфункцию, она заменяет все. Вот некоторый код для демонстрации того, что происходит:
a = c("a", "b", "c", "d", "a", "b", "c", "d", "a", "a")
> sub("a", "f", a)
[1] "f" "b" "c" "d" "f" "b" "c" "d" "f" "f"
> gsub("a", "f", a)
[1] "f" "b" "c" "d" "f" "b" "c" "d" "f" "f"
Как вы можете видеть, в моем случае sub и gsub выполняют одно и то же действие, однако я хочу, чтобы результатом было следующее:
a = c("a", "b", "c", "d", "a", "b", "c", "d", "a", "a")
> sub("a", "f", a)
[1] "f" "b" "c" "d" "a" "b" "c" "d" "a" "a"
Я не понимаю, почему это происходит, мне это не соответствует документации. Кто-нибудь может объяснить мне причину или обходной путь?