一个我有这样一个数据帧:下降值,如果它们匹配的其他
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'这个数据帧将使这个过程变得更加简单。 – 2014-11-06 20:19:23
@akrun是的,谢谢。 – 2014-11-06 20:26:40