Использование R-фрейма данных в качестве словаря Python - PullRequest
0 голосов
/ 18 января 2019

Я очищаю огромный набор данных и мне нужно заменить некоторые значения на другие.У меня есть фрейм данных, где каждая строка имеет значение, которое я нахожу в своем наборе данных, и новое значение, которое я хочу заменить вместо него.

Я использую gsub () и цикл for.

codes <- data.frame(Code = c("LL","DD","JJ"), Extended = 
c("LOL","DAD","John"))
df  <- data.frame(Supossed_Extended = c("LL","DD","JJ"), Values = c(1,2,3))

for (i in 1:nrow(codes){
    new = gsub(codes$Code[i],codes$Extended[i],df)
}

Результатом является не создание фрейма данных или списка, а просто сохранение значений.

Ожидаемым результатом будет кадр данных, в котором столбец Supossed_Extended был изменен столбцом Extended в файле кодов, когда столбец Code и значения Supossed_extended совпадают.Это выглядит так

new <- data.frame(Supossed_extended = c("LOL","DAD","John"), Values = c(1,2,3))

1 Ответ

0 голосов
/ 19 января 2019

Вы не присваиваете результат gsub обратно на фрейм данных.Будет работать следующее.

df$Supossed_Extended <- as.character(df$Supossed_Extended)
for (i in 1:nrow(codes)){
  new <- gsub(codes$Code[i], codes$Extended[i], df$Supossed_Extended)
  df$Supossed_Extended <- new
}
df
#  Supossed_Extended Values
#1               LOL      1
#2               DAD      2
#3              John      3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...