Mi a lag és a diff függvény a SAS-ban? Mi az alkalmazás e két funkció mögött?


Legjobb válasz

Helló,

Hadd próbáljak meg válaszolni erre a kérdésre . A DATA lépés két funkcióval (LAG és DIF) rendelkezik a változó vagy kifejezés korábbi értékeinek eléréséhez. Ezek a funkciók hasznosak a lemaradások és a sorozatok közötti különbségek kiszámításához.

Egyszerű használat esetén a LAG és a DIF késés és különbség függvényekként működik. Fontos azonban szem előtt tartani, hogy nevük ellenére a DATA lépésben elérhető LAG és DIF függvények nem valódi késleltetési és különbségfüggvények.

Inkább a LAG és a DIF sorban állási funkciók emlékeznek és visszaadja az előző hívások argumentumértékeit. A HACS funkció megjegyzi az átadott értéket, és eredményként visszaadja azt az értéket, amelyet az előző híváskor adott neki. A DIF függvény ugyanúgy működik, de az aktuális argumentum és a megjegyzett érték közötti különbséget adja vissza. (A LAG és a DIF hiányzó értéket ad vissza a függvény első meghívásakor.)

A valós késleltetésű függvény nem adja vissza az “előző hívás” argumentumának értékét, csakúgy, mint a DATA lépés LAG és DIF funkciók. Ehelyett egy valós késleltetési függvény visszaadja az “előző megfigyelés” argumentumának értékét, függetlenül a függvény korábbi hívásainak sorrendjétől. Így ahhoz, hogy valódi késleltetési funkció legyen lehetséges, tisztában kell lennie azzal, hogy mi az “előző megfigyelés”.

Ha az adatokat időrend szerint rendezzük, akkor a LAG és a DIF valós késés és különbség függvényekként működik. Ha kétségei vannak, használja a PROC SORT rendszert az adatok rendezéséhez a LAG és a DIF funkciók használata előtt. Vigyázzon a hiányzó megfigyelésekkel, amelyek miatt a LAG és a DIF olyan értékeket adhat vissza, amelyek nem a tényleges késleltetési és különbségértékek.

A DATA lépés egy hatékony eszköz, amely tetszőleges számú megfigyelést képes beolvasni bármilyen számú bemeneti fájlból vagy adathalmazok tetszőleges számú kimeneti adatsort készíthetnek, és tetszőleges számú kimeneti megfigyelést írhatnak bármelyik kimeneti adathalmazba, mind ugyanabban a programban. Így általában nem világos, hogy mit jelent az “előző megfigyelés” egy DATA lépésprogramban. A DATA lépésprogramban az “előző megfigyelés” csak akkor létezik, ha a programot egyszerűen megírja, ami értelmessé teszi ezt a fogalmat.

Mivel általában az előző megfigyelés nincs egyértelműen definiálva, ezért a DATA lépéshez nem lehet igazi késleltetési vagy különbségfüggvényt készíteni. Ehelyett a DATA lépés sorban állási funkciókat biztosít, amelyek megkönnyítik a lemaradások és a különbségek kiszámítását.

Remélem, hogy ez a válasz segít

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük