R заменить элемент в символьной строке на самый последний элемент другого типа - PullRequest
0 голосов
/ 30 января 2019

Предположим, у меня есть вектор, такой как

vec <- c('blue', 'XX', 'XX', 'XX', 'green', 'XXX', 'XXX', 'purple', 'XX', 'XXX')

Я хочу изменить все элементы, содержащие X, на тот, которым был последний цветовой элемент.

Таким образом, желаемый результат будет

 "blue"   "blue"   "blue"   "blue"   "green"  "green"  "green"  "purple" "purple" "purple"

Я ожидаю, что в пакете stringr есть что-то, что можно использовать (возможно, с оператором ifelse?), Но я не знаю, что это такое,Спасибо!(отредактировано для форматирования)

1 Ответ

0 голосов
/ 30 января 2019
library(zoo)

vec <- c('blue', 'XX', 'XX', 'XX', 'green', 'XXX', 'XXX', 'purple', 'XX', 'XXX')
vec[grepl('x', vec, ignore.case = TRUE)] <- NA
na.locf(vec)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...