Подмножество фрейма данных уникальной комбинацией значений из другого фрейма данных в R

Это работает в Bash и Korn, также может идти от более высоких к более низким числам. Наверное, не самый быстрый или красивый, но работает достаточно хорошо. Также обрабатывает негативы.

function num_range {
   # Return a range of whole numbers from beginning value to ending value.
   # >>> num_range start end
   # start: Whole number to start with.
   # end: Whole number to end with.
   typeset s e v
   s=${1}
   e=${2}
   if (( ${e} >= ${s} )); then
      v=${s}
      while (( ${v} <= ${e} )); do
         echo ${v}
         ((v=v+1))
      done
   elif (( ${e} < ${s} )); then
      v=${s}
      while (( ${v} >= ${e} )); do
         echo ${v}
         ((v=v-1))
      done
   fi
}

function test_num_range {
   num_range 1 3 | egrep "1|2|3" | assert_lc 3
   num_range 1 3 | head -1 | assert_eq 1
   num_range -1 1 | head -1 | assert_eq "-1"
   num_range 3 1 | egrep "1|2|3" | assert_lc 3
   num_range 3 1 | head -1 | assert_eq 3
   num_range 1 -1 | tail -1 | assert_eq "-1"
}
-1
задан geo_dd 15 January 2019 в 16:13
поделиться

1 ответ

Рассмотрим запуск expand.grid для фрейма данных B для всех комбинаций уникальных координат. Затем объединитесь с фреймом данных A:

B_all_combns <- expand.grid(lon = unique(B$lon), lat = unique(B$lat))

A_subset <- merge(A, B_all_combns, by=c("lon", "lat"))
0
ответ дан Parfait 15 January 2019 в 16:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: