Замена значений в столбце - PullRequest
1 голос
/ 12 апреля 2019

Столбец имеет разные значения, одно из которых включает значение *.Я хочу заменить это на U.

данные выглядят примерно так: col ffgh * t *

i

Я попробовал следующие варианты:

replace( df$col, "*", "U")
data$PROP_TYPE[df$col=='*'] <- 'U'

Оба не работают

Ответы [ 2 ]

0 голосов
/ 12 апреля 2019

Не знаю, как часто * отображается в вашем фрейме данных, но вы можете использовать gsub для замены всех его экземпляров.

Скажем, у вас есть такой столбец:

df <- c("asd*asd", "432*432", "*")
[1] "asd*asd" "432*432" "*" 

Если вы хотите заменить все * на U, тогда вы можете запустить этот

gsub("\\*", "U", df)
[1] "asdUasd" "432U432" "U"   

Поскольку * - специальный символ, вы должны экранировать его, используя \\иначе это не даст вам того, что вы ищете.

0 голосов
/ 12 апреля 2019

replace необходимо знать, какие элементы заменить (x == "*"):

x <- c("*", "a", "*", "a", "*", "a", "*", "a", "B")
replace(x, x == "*", "U")
#[1] "U" "a" "U" "a" "U" "a" "U" "a" "B"

В data.frame

df <- data.frame(x = x, stringsAsFactors = F)
df[df$x == "*", "x"] <- "U"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...