Заменить определенное значение в столбце в R

У меня есть переменная в кадре данных, которая состоит из 5 или 6 цифр/символов. Эти значения в переменной с 5 цифрами - это все числа, например 27701 с 6 цифрами, однако все они имеют символ "C", предшествующий цифрам, например, C22701.

Как я могу заменить символы "C" на 999?

Я пытался:

replace(data$varname,'C',999)

Любые идеи?

2 ответа

data$varname <- as.numeric(gsub('C', '999' , data$varname)), я думаю, должен сделать трюк. Предполагая, что вам нужен цифровой вектор в конце. Если вам нужен вектор символов, вы можете оставить as.numeric off.


Вы можете использовать substring для удаления первой буквы и paste0 чтобы добавить к ней 999.

> x <- c("C000", "P1745")
> paste0("999", substring(x,2))
# [1] "999000" "9991745"

licensed under cc by-sa 3.0 with attribution.