2016-07-29 3 views
0

Я пытаюсь создать матрицу расстояний данных из некоторых штатов США за последние несколько лет. Сейчас данные в виде:Создать матрицу расстояний, когда каждая переменная имеет определенные условия?

 
State Condition 2016 2015 2014 2013 
Alabama   A  1  2  3  4 
Alaska   A  2  3  4  5 
Arizona   A  3  4  5  6 
Alabama   B  4  3  2  1 
Alaska   B  5  4  3  2 
Arizona   B  6  5  4  3 
Alabama   C  3  4  5  6 
Alaska   C  2  3  4  5 
Arizona   C  1  2  3  4 

Теперь в нормальном расстоянии матрицы, не было бы только одна строка для каждого состояния, а затем вы можете использовать dist() на оставшемся числовой матрице. Однако, поскольку каждое состояние имеет 3 разных условия, dist() не будет работать, и мне интересно, как создать матрицу расстояний, которая учитывает каждое из этих условий для разных лет. Должен ли я представлять свои данные по-разному? Или есть функция калькулятора расстояния, которая учитывает мои условия?

Я ищу матрицу расстояния в виде:

 
       Alabama Alaska Arizona 
    Alabama   -  1   2 
    Alaska   1  -   3 
    Arizona   2  3   - 

Это то, что расстояние матрица будет выглядеть, если, скажем, я фильтруется его с помощью df %>% filter(Condition=='A') %>% dist(). Тем не менее, я хочу знать, как создать аналогичный вывод, а также хранить данные для всех трех условий.

+0

Ну, как вы определяете расстояние в этом случае? Какие значения вы хотите рассчитать? Сообщите нам желаемый результат, и мы сможем помочь. Если вы не знаете, чего хотите, тогда это не вопрос программирования и не принадлежит этому сайту. Вы можете посмотреть другие сайты обмена стеками, такие как [stats.se] или [datascience.se] – MrFlick

+0

EDIT: не отображается правильно, поэтому я отредактировал исходное сообщение –

+0

Готово. Оригинальная почта содержит мой желаемый формат вывода. –

ответ

0

Вы можете поворачивать свои данные, чтобы иметь одну строку для каждого состояния и столбца oen за condition_year.

Тогда вы можете использовать любую стандартную метрику расстояния в векторе. Но вы должны уделять большое внимание предварительной обработке, масштабированию, нормализации, взвешиванию.

 Смежные вопросы

  • Нет связанных вопросов^_^