Как изменить запись строки на «Неизвестно»? - PullRequest
0 голосов
/ 23 апреля 2020

Столбец в кадре данных является фактором и имеет 8 уровней. «» включен как фактор. Я хочу изменить "" на "Неизвестно"

df[df$VariantType == ""] <- "Unknown" 

выдает ошибку

Нужно ли приводить данные к другому типу данных?

1 Ответ

1 голос
/ 23 апреля 2020

R суетливый, когда дело доходит до уровней факторов. Вы должны заменить уровень (ы) на новый.

df <- data.frame(id=1:3, VariantType=c("A","","B"))
str(df)
#'data.frame':  3 obs. of  2 variables:
# $ id         : int  1 2 3
# $ VariantType: Factor w/ 3 levels "","A","B": 2 1 3

df
#  id VariantType
#1  1           A
#2  2            
#3  3           B

levels(df$VariantType)
#[1] ""  "A" "B"

Теперь замените "" на "Неизвестно". Вы можете сделать это вручную, используя индекс:

levels(df$VariantType)[1] <- "Unknown"

или используя логическое выражение:

levels(df$VariantType)[levels(df$VariantType)==""] <- "Unknown"

df
#  id VariantType
#1  1           A
#2  2     Unknown
#3  3           B

levels(df$VariantType)
#[1] "Unknown" "A"       "B"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...