2013-04-24 4 views
2

Привет ребята У меня есть большой файл, который выглядит следующим образом:Сортировать список data.frames

Col1_names  Col1_values  Col2_names  Col2_values 
     a    0.2    b    0.12 
     c    0.12    m    0.2 
     d    0.5    n    0.21 
     g    0.3    w    0.1 
     p    0.1    y    0.3 
     h    0.32    z    0.01 

Мне нужно отсортировать data.frame ниже, так что она будет выглядеть следующим образом:

Col1_names  Col1_values  Col2_names  Col2_values 
     p    0.1    z     0.01 
     c    0.12    w     0.1     
     a    0.2    b     0.12      
     g    0.3    m     0.2    
     h    0.32    n     0.21    
     d    0.5    y     0.3 

другими словами мне нужно сортировать в порядке возрастания каждый столбец, содержащий значения ("Col1_values"). Кто-нибудь может мне помочь? Я довольно роман в R, поэтому мне кажется слишком сложным. Спасибо большое!

Извините, я забыл сказать, что в реальном случае data.frame содержит около 200 списков.

+1

Можете ли вы предоставить некоторые примеры данных? http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example Также вы посмотрели '' order' и '? sort'? –

+0

Проблема в том, что я не знаю, как начать .. Я пробовал сортировать, но он не сортирует в том, как я не привык .. – Fuv8

+1

Вы пробовали примеры в упомянутых функциях? Особенно эта строка в 'порядке':' rbind (x, y, z) [, order (x, -y, z)] ' –

ответ

1

Что-то вдоль этих линий должны сделать это

txt <- "Col1_names  Col1_values  Col2_names  Col2_values 
      a    0.20    b    0.12 
      c    0.12    m    0.2 
      d    0.5    n    0.21 
      g    0.30    w    0.10 
      p    0.1    y    0.30 
      h    0.32    z    0.01" 

dat <- read.table(text = txt, header = TRUE) 
dat[order(dat$Col1_values), ] 

## Col1_names Col1_values Col2_names Col2_values 
## 5   p  0.10   y  0.30 
## 2   c  0.12   m  0.20 
## 1   a  0.20   b  0.12 
## 4   g  0.30   w  0.10 
## 6   h  0.32   z  0.01 
## 3   d  0.50   n  0.21 
Смежные вопросы