1

長年のユーザー、初めてのポスター。私はIMLに非常に慣れておらず、以前にRで遊んだことがあります。現在、SAS/IML でネットワークを簡単に計算できるように、隣接リストを作成しようとしています。私が取り組んでいるファイルは巨大です。SASfile を使用し、メモリに隣接リストを持たない実装を行っています。空のファイルを作成し、(特定のエージェントに対応する) 特定の行から読み取ることは、「最終」ステップである観測全体の更新まですべてうまくいきます。

以下は、最終段階まで動作する IML コードです。

    proc iml;
    /* initialize vars*/
    checkObs = 2;
    numCol = 5;
    db = "myTestDataBase";
    nObs = 5;
    temp = {};
    myList = J(1, numCol, 0);
    nVarToUpdate = 2;

    /* create empty database */
    create (db) from myList;
        append from myList;
    close (db);
    do i = 1 to (nObs-1);
        edit (db);
            append from myList;
        close (db);
    end;

    /* read index checkObs and write to temp*/
    edit (db);
        read point (checkObs) into temp; /* Read an entire row*/
        temp[nVarToUpdate] = 1; /* I would like to update some values*/
        /* I want to replace point chekObs with the whole of vector temp*/
        replace point checkObs var _all_;
    close (db);
    print temp;

私の目的は、行の順序をそのままにしながら、観測全体 (行) を置換/更新することです。何か案は?

4

2 に答える 2