2015-07-06 4 views
0

я в настоящее время имею следующие dataframes:Объединения соответствующих значений столбцов dataframe в г

> corr 
      i4  i3  i2 
i1 0.7965509 0.8198761 0.7941727 
> newcor 
    i4 i3 i2 
i1 0 0 0 

Я хотел бы объединить эти dataframes в один dataframe, что сортирует значения КОРРА из величайших наименее слева направо и ставит соответствующее newcor значения в следующей строке, так что конечный результат:

> newcor 
     i3  i4  i2 
i1 0.8198761 0.7965509 0.7941727 
i1 0.0000000 0.0000000 0.0000000 

это просто совпадение, что все значения в 2-м ряду являются 0s, и они должны составом в соответствии с начальными значениями в newcor. Например, в этом случае первый newcor будет:

> newcor 
    i3 i4 i2 
i1 0 0 0 

ответ

2

Попробуйте

corr1 <- corr[,order(-corr)] 
rbind(corr1, newcor[names(corr1)]) 

Или могут быть объединены в одну строку, как @Frank предложил, если начальные столбцы данных в том же порядке,

rbind(corr,newcor)[,order(-corr)] 
+1

Или 'rbind (корр, newcor) [, порядок (-corr)]' – Frank

+0

@Frank Я думаю, что нужно предположение о том, что имена столбцов являются в порядке в исходном наборе данных – akrun

+0

@akrun, который работал; однако вторая строка становится названной i11 как таковая: '> rbind (corr1, newcor [names (corr1)]) i3 i4 i2 i1 0,8198761 0,7965509 0,7941727 i11 0,0000000 0,0000000 0,0000000' Как я могу сделать это так, чтобы обе эти строки имеют одно и то же имя? Благодаря! – costebk08

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