Сортировка наблюдений в массивах наборов данных

В этом примере показано, как отсортировать наблюдения (строки) в массиве набора данных с помощью командной строки. Можно также отсортировать строки с помощью редактора Переменных.

Сортировка наблюдений в порядке возрастания.

Загрузите образец массива набора данных, hospital. Отсортируйте наблюдения по значениям в Age, в порядке возрастания.

load hospital
dsAgeUp = sortrows(hospital,'Age');
dsAgeUp(1:10,{'LastName','Age'})
ans = 
               LastName             Age
    XUE-826    {'JACKSON'  }        25 
    FZR-250    {'HALL'     }        25 
    PUE-347    {'YOUNG'    }        25 
    LIM-480    {'HILL'     }        25 
    SCQ-914    {'JAMES'    }        25 
    REV-997    {'ALEXANDER'}        25 
    XBR-291    {'GARCIA'   }        27 
    VNL-702    {'MOORE'    }        28 
    DTT-578    {'WALKER'   }        28 
    XAX-646    {'COOPER'   }        28 

Самые молодые пациенты в возрасте 25 лет.

Сортировка наблюдений в порядке убывания.

Сортировка наблюдений по Age в порядке убывания.

dsAgeDown = sortrows(hospital,'Age','descend');
dsAgeDown(1:10,{'LastName','Age'})
ans = 
               LastName            Age
    XBA-581    {'ROBINSON'}        50 
    DAU-529    {'REED'    }        50 
    XLK-030    {'BROWN'   }        49 
    FLJ-908    {'STEWART' }        49 
    GGU-691    {'HUGHES'  }        49 
    MEZ-469    {'GRIFFIN' }        49 
    KOQ-996    {'MARTIN'  }        48 
    BKD-785    {'CLARK'   }        48 
    KKL-155    {'ADAMS'   }        48 
    NSK-403    {'RAMIREZ' }        48 

Самые пожилые пациенты - 50 лет.

Сортировка наблюдений по значениям двух переменных.

Отсортируйте наблюдения в hospital по Age, а затем по LastName.

dsName = sortrows(hospital,{'Age','LastName'});
dsName(1:10,{'LastName','Age'})
ans = 
               LastName             Age
    REV-997    {'ALEXANDER'}        25 
    FZR-250    {'HALL'     }        25 
    LIM-480    {'HILL'     }        25 
    XUE-826    {'JACKSON'  }        25 
    SCQ-914    {'JAMES'    }        25 
    PUE-347    {'YOUNG'    }        25 
    XBR-291    {'GARCIA'   }        27 
    XAX-646    {'COOPER'   }        28 
    QEQ-082    {'COX'      }        28 
    NSU-424    {'JENKINS'  }        28 

Теперь имена сортируются по алфавиту в возрастных группах.

Сортировка наблюдений в смешанном порядке.

Отсортируйте наблюдения в hospital по Age в порядке возрастания, а затем по Weight в порядке убывания.

dsWeight = sortrows(hospital,{'Age','Weight'},{'ascend','descend'});
dsWeight(1:10,{'LastName','Age','Weight'})
ans = 
               LastName             Age    Weight
    FZR-250    {'HALL'     }        25     189   
    SCQ-914    {'JAMES'    }        25     186   
    XUE-826    {'JACKSON'  }        25     174   
    REV-997    {'ALEXANDER'}        25     171   
    LIM-480    {'HILL'     }        25     138   
    PUE-347    {'YOUNG'    }        25     114   
    XBR-291    {'GARCIA'   }        27     131   
    NSU-424    {'JENKINS'  }        28     189   
    VNL-702    {'MOORE'    }        28     183   
    XAX-646    {'COOPER'   }        28     127   

Это показывает, что максимальный вес среди пациентов в возрасте 25 лет составляет 189 фунтов.

Сортировка наблюдений по имени наблюдения.

Отсортируйте наблюдения в hospital по именам наблюдений.

dsObs = sortrows(hospital,'obsnames');
dsObs(1:10,{'LastName','Age'})
ans = 
               LastName           Age
    AAX-056    {'LEE'    }        44 
    AFB-271    {'PEREZ'  }        44 
    AFK-336    {'WRIGHT' }        45 
    AGR-528    {'SIMMONS'}        45 
    ATA-945    {'WILSON' }        40 
    BEZ-311    {'DIAZ'   }        45 
    BKD-785    {'CLARK'  }        48 
    DAU-529    {'REED'   }        50 
    DGC-290    {'BUTLER' }        38 
    DTT-578    {'WALKER' }        28 

Наблюдения сортируются по имени наблюдения в возрастающем алфавитном порядке.

См. также

|

Похожие примеры

Подробнее о