按一列中的值排序矩阵

时间:2017-10-11 02:58:44

标签: r sorting matrix

我有一个名为regional_regression的数据集,如下所示。

regional_regression

$`East Asia & Pacific (all income levels)`
     (Intercept)       gdpcap 
48.180966940 -0.001276384 

$`Europe & Central Asia (all income levels)`
  (Intercept)        gdpcap 
28.8153087170 -0.0005021196 

$`Latin America & Caribbean (all income levels)`
 (Intercept)       gdpcap 
59.706105856 -0.003207999 

$`Middle East & North Africa (all income levels)`
  (Intercept)        gdpcap 
54.6225615193 -0.0008088255 

$`North America`
 (Intercept)       gdpcap 
32.444196028 -0.000599279 

$`South Asia`
 (Intercept)       gdpcap 
109.71477941  -0.02396868 

$`Sub-Saharan Africa (all income levels)`
  (Intercept)        gdpcap 
105.434754813  -0.006815668 

我希望将这些数据放在一个有序的表中,然后按将被称为“Coefficient”的列进行排序。

regional_regressional <- regional_regression %>% as.data.frame() 
regional_regression_table <- t(regional_regressional)
col_names <- c("Intercept", "Coefficient") 
colnames(regional_regression_table) <- col_names

因为看起来我正在处理矩阵,所以当我尝试过这样的事情时,我会不断出错:

regional_regression_table[order(regional_regression_table$Coefficient),]

regional_regression_table[order(regional_regression_table[,"V2"]),]

setorder(regional_regression_table, -Coefficient)

非常感谢任何见解!

1 个答案:

答案 0 :(得分:0)

如果Coefficient是matrix中的第二列,那么您只需执行以下操作即可。由于它是matrix,因此您order使用列号。

 regional_regression_table[order(regional_regression_table[,2]),]