У меня есть кадр данных, как это:значения падения переменных, если они соответствуют одному из других
Family Component x1 m_x1 x2 m_x2 x3 m_x3 y1 m_y1 y2 m_y2 y3 m_y3
a1 1 1 100 2 300 0 0 2 250 0 0 0 0
a1 2 1 100 2 300 0 0 2 250 0 0 0 01
a1 3 1 100 2 300 0 0 2 250 0 0 0 0
a2 1 2 150 0 0 0 0 0 0 0 0 0 0
a2 2 2 150 0 0 0 0 0 0 0 0 0 0
a3 1 1 4000 3 150 4 130 2 150 3 400 0 0
a3 2 1 4000 3 150 4 130 2 150 3 400 0 0
a3 3 1 4000 3 150 4 130 2 150 3 400 0 0
a3 4 1 4000 3 150 4 130 2 150 3 400 0 0
Семья является группировка переменной. Тогда я хочу, что если значение "Component"
(для каждого Family
) НЕ совпадают один в x1
, x2
, , y1
, y2
, y3
, значение этой переменной, а следующий (для x1
, m_x1
, для x2
, m_x2
, ...). В результате я бы хотел:
Family Component x1 m_x1 x2 m_x2 x3 m_x3 y1 m_y1 y2 m_y2 y3 m_y3
a1 1 1 100 0 0 0 0 0 0 0 0 0 0
a1 2 0 0 2 300 0 0 2 250 0 0 0 0
a1 3 0 0 0 0 0 0 0 0 0 0 0 0
a2 1 0 0 0 0 0 0 0 0 0 0 0 0
a2 2 2 150 0 0 0 0 0 0 0 0 0 0
a3 1 1 4000 0 0 0 0 0 0 0 0 0 0
a3 2 0 0 0 0 0 0 2 150 0 0 0 0
a3 3 0 0 3 150 0 0 0 0 3 400 0 0
a3 4 0 0 0 0 4 130 0 0 0 0 0 0
Какую функцию использовать? Я пробовал слияние, но не мог заставить его работать.
Использование 'melt' на этом dataframe бы сделать этот процесс намного проще. –
@akrun да, спасибо. –