Как заменить значения из фрейма данных значениями из хэш-карты/словаря?

Создал хеш из фрейма данных mtcars.

counter <- 0
h <- hash()
for(i in 1:nrow(mtcars)){
  for(j in 1:length(names(mtcars))){
    counter <- counter + 1
    h[[as.character(mtcars[i,j])]] <- counter      }
}

Сейчас я пытаюсь заменить значения в фрейме данных mtcars значениями из хеш-карты, которую я создал в r.

Например, 0 во фрейме данных mtcars теперь будет 338, а 1 во фрейме данных mtcars будет заменено на 350.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
20
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я не понимаю, что ты пытаешься сделать. Вы присваиваете значения хешу, которые увеличиваются, но, похоже, не имеют особого значения. В любом случае, вот решение, если я вас хорошо понял:

for(i in 1:nrow(mtcars)){
  for(j in 1:length(names(mtcars))){
    mtcars[i,j] <- h[[as.character(mtcars[i,j])]]
  }
}

Это очень похоже на то, что вы уже делали в первой части, только теперь вы выбираете из хэша и присваиваете обратно mtcars.

Выход:

> mtcars
                    mpg cyl disp  hp drat  wt qsec  vs  am gear carb
Mazda RX4            12 330   14  37   16   6    7 338 350  351  351
Mazda RX4 Wag        12 330   14  37   16  17   51 338 350  351  351
Datsun 710           89 351   25  26   27  28   29 350 350  351  350
Hornet 4 Drive      342 330   36  37  269  39   40 350 338  274  350
Hornet Sportabout    45 341   69 323  247 116   51 338 338  274  352
Valiant              56 330   58  59  236  61   62 350 338  274  350
Duster 360           67 341   69 257   71 336   73 338 338  274  351
Merc 240D            78 351   80  81   82  83   84 350 338  351  352
Merc 230             89 351   91  92  115 247   95 350 338  351  352
Merc 280            265 330  113 114  115 116  106 350 338  351  351
Merc 280C           111 330  113 114  115 116  282 350 338  351  351
Merc 450SE          122 341  146 147  148 127  128 338 338  274  274
Merc 450SL          249 341  146 147  148 258  139 338 338  274  274
Merc 450SLC         243 341  146 147  148 149  150 338 338  274  274
Cadillac Fleetwood  166 341  157 158  159 160  161 338 338  274  351
Lincoln Continental 166 341  168 169  274 171  172 338 338  274  351
Chrysler Imperial   177 341  179 180  181 182  183 338 338  274  351
Fiat 128            188 351  190 279  280 193  194 350 350  351  350
Honda Civic         298 351  201 202  203 204  205 350 350  351  352
Toyota Corolla      210 351  212 213  313 215  216 350 350  351  350
Toyota Corona       221 351  223 224  225 226  227 350 338  274  350
Dodge Challenger    326 341  234 246  236 237  238 338 338  274  352
AMC Javelin         243 341  245 246  247 248  249 338 338  274  352
Camaro Z28          254 341  256 257  258 259  260 338 338  274  351
Pontiac Firebird    265 341  267 323  269 270  271 338 338  274  352
Fiat X1-9           276 351  278 279  280 281  282 350 350  351  350
Porsche 914-2       287 351  289 290  291 292  293 338 350  340  352
Lotus Europa        298 351  300 301  302 303  304 350 350  340  352
Ford Pantera L      309 341  311 312  313 314  315 338 350  340  351
Ferrari Dino        320 330  322 323  324 325  326 338 350  340  330
Maserati Bora       331 341  333 334  335 336  337 338 350  340  341
Volvo 142E          342 351  344 345  346 347  348 350 350  351  352

Другие вопросы по теме