0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SAS:Data step中first和last變量的應(yīng)用場(chǎng)景

冬至子 ? 來(lái)源:小高的SAS學(xué)習(xí)筆記 ? 作者:小高筆記 ? 2023-05-19 14:36 ? 次閱讀

SAS的data步中,可以使用by分組,在處理過(guò)程中會(huì)產(chǎn)生兩個(gè)臨時(shí)變量first.variable和last.variable,這兩個(gè)臨時(shí)變量的值不會(huì)寫到結(jié)果中,這兩個(gè)臨時(shí)變量的賦值情況如下:

由于data step是按行處理每一條觀測(cè)的,當(dāng)一條觀測(cè)為某一組的第一條記錄時(shí),那么first.variable就為1,否則為0;當(dāng)一條觀測(cè)為某一組的最后一條記錄時(shí),那么last.variable就為1,否則為0;如果某一組中只有一條觀測(cè),那么first.avriable=last.variable都為1.因此,可以使用這兩個(gè)變量來(lái)篩選每一組中的第一條或最后一條觀測(cè)。以下示例演示如何在SAS中使用first & last

考慮這樣一種場(chǎng)景:假設(shè)有某校一學(xué)期內(nèi)組織籃球比賽的數(shù)據(jù),如下所示,每一條觀測(cè)對(duì)應(yīng)一個(gè)team的一次比賽記錄,我們知道一個(gè)team在一學(xué)期內(nèi)可能會(huì)進(jìn)行多次比賽。

例1:找到每個(gè) team得分最高和最低分別對(duì)應(yīng)的進(jìn)球數(shù)

data test;

input team $ points rebounds;

  datalines;

Mavs 29 10

Mavs 13 6

Mavs 22 5

Mavs 20 9

Spurs 13 9

Spurs 15 10

Spurs 33 8

Spurs 27 11

Rockets 25 8

Rockets 14 4

Rockets 16 7

Rockets 12 4

LLC 15 9

;

run;

第一步:先按team和points排序

proc sort data=test out=sort_test;

by team points;

run;

圖片

第二步:創(chuàng)建臨時(shí)變量first和last

data test1;

set sort_test;

by team points;

first=first.team;

  last=last.team;

  if first.team or last.team then output;

run;

結(jié)果如下:

圖片

由上圖可以看到,first變量為1表示該team得分最低所進(jìn)的球的數(shù)量,last變量為1表示該team得分最高所進(jìn)的球的數(shù)量。我們發(fā)現(xiàn),對(duì)于第一個(gè)team LLC,它的first.和last都為1,說(shuō)明這個(gè)team只進(jìn)行過(guò)一次比賽。這里需要注意的是,對(duì)于by語(yǔ)句后面的每一個(gè)變量,都會(huì)有一個(gè)對(duì)應(yīng)的first和last臨時(shí)變量,并且這些臨時(shí)變量都不會(huì)出現(xiàn)在數(shù)據(jù)集中。

例2:計(jì)算每個(gè) team進(jìn)行比賽的次數(shù)

第一步:先按team排序

proc sort data=test out=sort_test;

by team;

run;

第二步:創(chuàng)建臨時(shí)變量first和last

data test1;

set sort_test;

  by team;



  if first.team then

        number = 0;

  number + 1;

  if last.team then output;

run;

結(jié)果如下:

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • LLC
    LLC
    +關(guān)注

    關(guān)注

    36

    文章

    569

    瀏覽量

    76918
  • SAS
    SAS
    +關(guān)注

    關(guān)注

    2

    文章

    523

    瀏覽量

    32905
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AG32VF-MIPI應(yīng)用場(chǎng)景

    MIPI接口技術(shù)在圖像和視頻傳輸的應(yīng)用越來(lái)越廣泛,應(yīng)用場(chǎng)景也在不斷拓展,而不僅限于移動(dòng)設(shè)備。MIPI接口在物聯(lián)網(wǎng)、智能家居、智能監(jiān)控、智能電視、智能汽車等領(lǐng)域也得到廣泛應(yīng)用。 MIPI還可
    發(fā)表于 01-22 08:56

    NanoEdge AI的技術(shù)原理、應(yīng)用場(chǎng)景及優(yōu)勢(shì)

    等領(lǐng)域。以下是一些具體的應(yīng)用場(chǎng)景: 1 . 智能家居:通過(guò)將 NanoEdge AI 集成到智能家居設(shè)備,可以實(shí)現(xiàn)對(duì)家庭環(huán)境的實(shí)時(shí)監(jiān)控和智能控制,如溫度調(diào)節(jié)、照明控制、安防監(jiān)控等。 2.工業(yè)自動(dòng)化
    發(fā)表于 03-12 08:09

    實(shí)時(shí)示波器的技術(shù)原理和應(yīng)用場(chǎng)景

    實(shí)時(shí)示波器是一種高性能的電子測(cè)量?jī)x器,其技術(shù)原理和應(yīng)用場(chǎng)景對(duì)于電子工程和通信技術(shù)領(lǐng)域具有重要意義。以下是對(duì)實(shí)時(shí)示波器的技術(shù)原理和應(yīng)用場(chǎng)景的詳細(xì)解釋:一、技術(shù)原理實(shí)時(shí)示波器的工作原理基于電子束在熒光屏
    發(fā)表于 10-23 14:22

    MOS管的應(yīng)用場(chǎng)景

    mos管的應(yīng)用場(chǎng)景,你了解么?低壓MOS管可稱為金屬氧化物半導(dǎo)體場(chǎng)效應(yīng)管,因?yàn)榈蛪篗OS管具有良好的開關(guān)特性,廣泛應(yīng)用在電子開關(guān)的電路。如開關(guān)電源,電動(dòng)馬達(dá)、照明調(diào)光等!下面銀聯(lián)寶科技就跟大家一起
    發(fā)表于 11-14 09:24

    E4360 SAS瞬態(tài)部分不響應(yīng)某些SCPI命令

    子系統(tǒng)置于連續(xù)啟動(dòng)模式但它沒(méi)有。命令LIST:TERM:LAST 1,(@ 1)假設(shè)SAS保持在列表末尾的最后一個(gè)瞬態(tài)步驟。但事實(shí)并非如此。 E4360 SAS Firmware愿景A.01.07忽略了
    發(fā)表于 01-16 09:13

    this的使用場(chǎng)景及與C,Java的this的區(qū)別

    【JS】this有哪些使用場(chǎng)景?跟C,Java的this有什么區(qū)別?如何改變this的值?
    發(fā)表于 03-11 10:17

    PCIExpress SATA和SAS設(shè)計(jì)驗(yàn)證的簡(jiǎn)化

    Simplify the validation of your PCI Express?, SATA and SAS designs with the first full-capability protocol viewer built into a digital o
    發(fā)表于 11-05 14:07

    =>的使用場(chǎng)景有哪些

    使用場(chǎng)景
    發(fā)表于 10-27 13:25

    eMBB的CP-OFMD調(diào)制波形的應(yīng)用場(chǎng)景

    5G新的無(wú)線電接口:eMBB的CP-OFMD調(diào)制波形的應(yīng)用場(chǎng)景
    發(fā)表于 01-04 07:11

    volatile關(guān)鍵字應(yīng)用場(chǎng)景及示例

    volatile關(guān)鍵字1.應(yīng)用場(chǎng)景2.示例1.應(yīng)用場(chǎng)景volatile關(guān)鍵字分析,往往應(yīng)用在三種場(chǎng)合1)多線程編程共享全局變量的時(shí)候,該全局變量要加上volatile進(jìn)行修飾,讓編譯器
    發(fā)表于 08-24 07:21

    消息隊(duì)列的5個(gè)常見應(yīng)用場(chǎng)景

    消息隊(duì)列的5個(gè)常見應(yīng)用場(chǎng)景https://segmentfault.com/a/1190000017130224想要在單片機(jī)開發(fā)應(yīng)用消息隊(duì)列處理事件主要是為了解耦,減少模塊與模塊之間的耦合??催^(guò)挺
    發(fā)表于 11-22 06:22

    MS9331的應(yīng)用場(chǎng)景是什么?

    MS9331的應(yīng)用場(chǎng)景是什么?
    發(fā)表于 02-11 06:41

    請(qǐng)教一下編譯報(bào)錯(cuò)no section to be FIRST/LAST是什么原因呢?

    - no section to be FIRST/LAST. 是什么原因呢?編譯環(huán)境:MDK5
    發(fā)表于 10-20 10:50

    藍(lán)牙多連接應(yīng)用場(chǎng)景舉例

    藍(lán)牙多連接應(yīng)用場(chǎng)景舉例 一、藍(lán)牙多連接的通信方式: 1-1、藍(lán)牙MESH組網(wǎng)圖: 1-2、藍(lán)牙星型組網(wǎng)圖; 二、兩種方案的優(yōu)劣勢(shì): 2-1、 MESH方式網(wǎng)絡(luò)的節(jié)點(diǎn)數(shù)量多,能夠?qū)崿F(xiàn)單播、組播
    發(fā)表于 05-09 09:09

    labview 和 wincc 的區(qū)別 使用場(chǎng)景

    labview 和 wincc 的區(qū)別 使用場(chǎng)景 都是上位機(jī)軟件,都可以做監(jiān)控軟件 wincc的名氣也比較大 對(duì)比的資料較少 寫這些文章的人,從自己的從事的行業(yè)出發(fā),帶有自己的思維 使用的場(chǎng)景 肯定
    發(fā)表于 10-27 18:01