Mikä on viive ja diff-funktio SAS: ssa? Mikä on näiden kahden toiminnon takana oleva sovellus?


Paras vastaus

Hei,

Anna minun yrittää vastata tähän kysymykseen ymmärrykseni mukaan . DATA-vaiheessa on kaksi toimintoa, LAG ja DIF, muuttujan tai lausekkeen edellisten arvojen käyttämiseksi. Nämä toiminnot ovat hyödyllisiä viiveiden ja sarjaerojen laskemisessa.

Yksinkertaisella käytöllä LAG ja DIF toimivat viive- ja ero-funktioina. On kuitenkin tärkeää pitää mielessä, että DATA-vaiheessa käytettävissä olevat LAG- ja DIF-toiminnot eivät ole nimistään huolimatta todellisia viive- ja erotoimintoja.

Pikemminkin LAG ja DIF ovat jonotoimintoja, jotka muistavat ja palauttaa argumenttiarvot edellisistä puheluista. LAG-toiminto muistaa sille välitetyn arvon ja palauttaa tuloksena arvon, jonka välitit sille edellisessä puhelussa. DIF-toiminto toimii samalla tavalla, mutta palauttaa nykyisen argumentin ja muistettavan arvon välisen eron. (LAG ja DIF palauttavat puuttuvan arvon ensimmäisen kerran, kun toimintoa kutsutaan.)

Todellinen viivetoiminto ei palauta ”edellisen puhelun” argumentin arvoa, samoin kuin DATA-vaihe LAG ja DIF-toiminnot. Todellinen viive-funktio palauttaa sen sijaan argumentin arvon ”edelliselle havainnolle” riippumatta siitä, mitä funktiolle aikaisemmin soitettiin. Siten todellisen viivefunktion mahdollistamiseksi on oltava selvää, mikä ”edellinen havainto” on.

Jos tiedot lajitellaan kronologisesti, LAG ja DIF toimivat todellisen viive- ja ero-funktiona. Jos olet epävarma, lajittele tiedot PROC SORT -toiminnon avulla ennen LAG- ja DIF-toimintojen käyttöä. Varo puuttuvia havaintoja, jotka voivat saada LAG: n ja DIF: n palauttamaan arvot, jotka eivät ole todellisia viive- ja eriarvoja.

DATA-vaihe on tehokas työkalu, joka voi lukea minkä tahansa määrän havaintoja mistä tahansa syötetiedostoista tai tietojoukot, voivat luoda minkä tahansa määrän lähtötietojoukkoja ja kirjoittaa minkä tahansa määrän lähtöhavaintoja mihin tahansa lähtötietojoukkoon, kaikki samassa ohjelmassa. Siten yleensä ei ole selvää, mitä ”edellinen havainto” tarkoittaa DATA-vaiheohjelmassa. DATA-vaiheohjelmassa ”edellinen havainto” on olemassa vain, jos kirjoitat ohjelman yksinkertaisella tavalla, joka tekee tästä käsitteestä merkityksellisen.

Koska edellistä havaintoa ei yleensä ole määritelty selkeästi, se on ei voida tehdä todellisia viive- tai erotusfunktioita DATA-vaiheelle. Sen sijaan DATA-vaihe tarjoaa jonotustoimintoja, joiden avulla viiveiden ja erojen laskeminen on helppoa.

Toivon, että tämä vastaus auttaa

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *