Получите позиции команды в течение текущего года

Этот пример показывает, как получить баскетбольную команду постоянные данные под эгидой STATS.com в течение текущего года.

Этот пример требует ключа API STATS.com и секретного кода передачи для баскетбольных данных. Для получения дополнительной информации о ваших учетных данных для доступа к данным, свяжитесь с STATS.com.

Чтобы получить доступ к коду для этого примера, введите edit NBAStandingsExample.m.

Соединитесь с STATS.com

Создайте связь STATS.com sBasketball для извлечения статистических баскетбольных данных для спортивной лиги под названием 'nba'. Настройте связь, чтобы получить команду постоянные данные путем определения параметра запроса 'Resource' как 'standings'.

sBasketball = statsllc('se33pc658r9abcahm4a9j93p','frvaBcb33y', ...
    'DataType','stats','LeagueAbbreviation','nba', ...
    'Resource','standings','SportName','basketball', ...
    'VersionNumber','v1');

Получите данные о позициях команды

Получите позиции баскетбольной команды data с помощью sBasketball.

data = fetch(sBasketball);

Получите конференцию, деление и данные команды путем доступа к вложенной структуре data. Чтобы получить доступ к каждому слою данных, создайте вложенный цикл. Преобразуйте возвращенные данные о структуре в таблицы. Создайте таблицу standingsTable, которая содержит данные о позициях команды. Отобразите данные в Командном окне.

numConferences = length(data.apiResults.league.season.eventType.conferences);

% Iterate through each conference
for i = 1:numConferences
    numDivisions = length(data.apiResults.league.season.eventType.conferences(i).divisions);
  
    % Iterate through each division
    for j = 1:numDivisions
        
        % Access team data in each division
        t = struct2table(data.apiResults.league.season.eventType.conferences(i).divisions(j).teams);
        numTeams = length(data.apiResults.league.season.eventType.conferences(i).divisions(j).teams);
        recordTable = [];
        
        % Iterate through each team
        for k = 1:numTeams
            divisionStatusTable = struct2table(data.apiResults.league.season.eventType.conferences(i).divisions(j).teams(k).division);
            recordTable = [recordTable;struct2table(data.apiResults.league.season.eventType.conferences(i).divisions(j).teams(k).record) ...
                table(divisionStatusTable.gamesBehind, ...
                    'VariableNames',{'GamesBack'})];
        end

        % Create table of team standing data
        standingsTable = table(strcat(t.location,strcat('.',t.nickname)), ...
            recordTable.wins,recordTable.losses,recordTable.percentage, ...
            recordTable.GamesBack,'VariableNames', ...
            {'Team','Wins','Losses','Percentage','GamesBehind'});
        
        % Display team standing data to the command line
        disp([data.apiResults.league.season.eventType.conferences(i).name ...
            ' ' data.apiResults.league.season.eventType.conferences(i).divisions(j).name])
        disp(' ')
        disp(standingsTable)
    end
end
Eastern Conference Atlantic Division
 
            Team            Wins    Losses    Percentage    GamesBehind
    ____________________    ____    ______    __________    ___________

    'Toronto.Raptors'       56      26        .683           0         
    'Boston.Celtics'        48      34        .585           8         
    'New York.Knicks'       32      50        .390          24         
    'Brooklyn.Nets'         21      61        .256          35         
    'Philadelphia.76ers'    10      72        .122          46         
...

Командное окно отображает позиции баскетбольной команды для каждого деления. Имена столбцов:

  • Team — Имя баскетбольной команды

  • Wins — Количество побед

  • Losses — Количество потерь

  • Percentage — Процент игр выигран

  • GamesBehind — Количество игр позади

Смотрите также

|

Похожие темы

Внешние веб-сайты