У меня есть вектор числовых значений (vals.to.convert
в примере кода ниже), представляющих высоты (в метрах).Мне нужно заменить каждое значение связанной метрикой, связанной с 1-метровыми ячейками (данные в столбце «становится» в conversion.df
data.frame ниже).
Сейчас я использую cut()
с conversion.df$becomes
в качестве меток, а затем с помощью as.character()
и as.numeric()
получить преобразование чисел в двоичном формате.
Кто-нибудь может порекомендовать более эффективный и элегантный способ сделать это?
Например, с растром вы можете использовать raster::reclassify
и data.frame, структурированный как conversion.df
, чтобы сделать замену.
Вот пример кода:
vals.to.convert <- sample(1:80, 500, replace = T)
conversion.df <- data.frame(from = 0:79,
to = 1:80,
becomes = runif(80))
converted <- as.numeric(as.character(cut(vals.to.convert, 0:nrow(conversion.df), labels = conversion.df$becomes)))