Helpers - компьютеры, интернет, программирование

R- Как переставить строки во фрейме данных с помощью внешнего ключа из другого фрейма данных

У меня возникли некоторые проблемы с попыткой выяснить, как переставить строки во фрейме данных в R.

У меня есть два кадра данных, которые находятся в разном порядке, и у обоих есть идентификатор, который идентифицирует подсказки. Теперь я хотел бы изменить порядок фрейма данных 1 (ID 1), чтобы он находился в том же порядке, что и фрейм данных 2 (ID2).

Спасибо заранее.

29.02.2020

  • Вам нужно опубликовать свой код, чтобы помочь вам. Члены stackoverflow не предоставляют готовых решений, а помогают решать проблемы. 01.03.2020

Ответы:


1

Создайте столбец восходящих целых чисел во фрейме данных 2, чтобы закодировать порядок. Затем объедините этот столбец с фреймом данных 1 и отсортируйте его.

library(dplyr)

df1 <- tibble(
  id = c(1, 2, 3),
  col1 = c('a', 'b', 'c')
)

df2 <- tibble(
  id = c(3, 1, 2),
  col2 = c('c', 'a', 'b')
)

df2$ordering <- sequence(nrow(df2))

df1_ordered <- df1 %>%
  left_join(df2, by = 'id') %>%
  arrange(ordering)

29.02.2020

2

Мы можем использовать match для сопоставления идентификаторов, а затем изменить порядок df1 на его основе. Используя данные @Chris

df1[match(df2$id, df1$id),]

#     id col1 
#  <dbl> <chr>
#1     3 c    
#2     1 a    
#3     2 b    
01.03.2020
Новые материалы

Интуитивное понимание тензоров в машинном обучении
Тензор является важной концепцией во многих научных областях, таких как математика, физика, обработка сигналов и компьютерное зрение, и это лишь некоторые из них. В математике тензор — это..

Использование машинного обучения для диагностики болезни Альцгеймера, часть 4
Маркеры семантической согласованности для ранней диагностики болезни Альцгеймера (arXiv) Автор: Давиде Колла , Маттео Дельсанто , Марко Агосто , Бенедетто Витиелло , Даниэле Паоло Радичони..

Почему объяснимость так важна прямо сейчас?
По мере того, как системы искусственного интеллекта и инструменты на основе машинного обучения распространяются в нашей повседневной жизни, как практики, так и критики все чаще заявляют о..

Анимированный математический анализ
Использование Manim для создания математических анимированных визуализаций Визуализация данных помогает понять скрытые закономерности в данных, которые невозможно визуализировать..

Создание простого слайдера изображений с помощью JavaScript
Узнайте, как создать базовый слайдер изображений с помощью HTML, CSS и JavaScript. Введение В этом уроке мы создадим удобный слайдер изображений, используя JavaScript, HTML и CSS. Ползунок..

Создание базы данных с помощью супергероя «Python»
В этом посте мы узнаем, как создать «базу данных SQLite с помощью модуля python sqlite3, создав простую функцию входа и регистрации. Готовы ли вы к этому путешествию? Если да , давайте приступим..

ИИ для чайников: руководство для начинающих по пониманию будущего технологий
Вы чувствуете, что остались позади в мире ИИ? Не волнуйтесь, вы не одиноки! Со всей этой шумихой вокруг искусственного интеллекта может быть трудно понять, с чего начать. Но не позволяйте сленгу..