Как я могу преобразовать значения из метров в км в списке (из html_nodes) с помощью r?

#r #if-statement #converters

#r #if-statement #конвертеры

Вопрос:

У меня есть следующий список из

 distance_to_center <- html_nodes(HouseRentingPage, xpath = '//*[@class="distance"]')
distance_to_center <- html_text(distance_to_center)
  

(ps: это неполный список — в оригинале более 3 тысяч наблюдений)

  distance_to_center

[1]"822 m" "500 m" "12.8 km" "435 m" NA "1 km" "985 m" "3.5 km" "4.9 km" "623 m"
  

Как я могу преобразовать значения, выраженные в метрах, в км? Я пытался использовать if-statement, но он не работает.

Комментарии:

1. Как насчет деления на 1000? «Я пытался использовать if-statement …» . Поделитесь этим кодом также

Ответ №1:

Попробуйте это

 #Identifying the values in meter
chk <-  grep(" m", distance_to_center)

#Converting m into km
distance_to_center[chk] <- paste(as.numeric(gsub(".*?([0-9] ).*", "\1", 
                                                 distance_to_center[chk]))/1000, 
                                 "km")  
distance_to_center

[1] "0.822 km" "0.5 km"   "12.8 km"  "0.435 km" NA         "1 km"     "0.985 km" "3.5 km"   "4.9 km"   "0.623 km"