美文网首页SAS编程
195:proc transpose和array处理缺失数据比较

195:proc transpose和array处理缺失数据比较

作者: SASPRO的打工人生活 | 来源:发表于2023-02-19 23:38 被阅读0次

今天下班吃完饭后头很不舒服,看着直播什么也不做也没有感到放松,便在床上躺了一会儿,自己在迷迷糊糊中睡了快一个小时,但是还是能听到直播的声音的。习惯了下班后打开直播,可能觉得有点儿声音,就像有人在陪伴吧。

睡醒后心里感觉真的有点脆弱,这真的是一个奇怪的现象,在不该睡觉的时间睡醒后,总会感觉过了一天了,然后不知道睡着的时候发生了什么事,缺乏安全感。

有位读者问了一个问题,就是有位受试者缺失3个肿瘤评估的访视,但是自己现在只输出了一个,如何把3个肿瘤评估的访视都输出出来。

具体情况我不知道是什么样,她也没有给我更具体的描述,也没有给我看实际数据。但是我觉得她是想创建一个dummy数据集,只不过值为空。如果整个试验有56次肿瘤评估访视,那么56次都得输出。

刚好今天看到相关内容,那就写下来,说不定能解决她的问题。

proc transpose对于转置数据集非常有用,而是常用的一种做法,对于部分缺失的数据,我们可以通过id解决。下面这句数据受试者S101缺失访视2的数据,但是受试者S202未缺失。

我们通过转置,就能获得各个访视受试者SBP的数据,注意的是,如果只有by和var选项,数据会自动顶上去,不符合我们的期望,也就是受试者S101访视2的数据并不是下图展示的那样,它用的是访视3的数据。

为了避免上面的那种情况,我们可以用上id选项。

但是如果所有受试者都缺失访视2的数据呢?那么proc transpose就没有那么智能了,并不会输出任何关于访视2的数据,这时候我们就可以通过array解决。

data TEST2;

input subject $ visit sbp;

datalines;

S101 1 160

S101 3 140

S101 4 130

S101 5 120

S202 1 141

S202 3 161

S202 4 171

S202 5 181

;

run;

data test2_2;

  set TEST2;

  by subject;

  keep subject visit1-visit5;

  retain visit1-visit5;

  **** DEFINE ARRAY TO HOLD SBP VALUES FOR 5 VISITS.;

  array sbps {5} visit1-visit5;

  **** AT FIRST SUBJECT, INITIALIZE ARRAY TO MISSING.;

  if first.subject then do i = 1 to 5;

    sbps{i} = .;

  end;

  *** AT EACH VISIT LOAD THE SBP VALUE INTO THE PROPER SLOT

  **** IN THE ARRAY.;

  sbps{visit} = sbp;

  **** KEEP THE LAST OBSERVATION PER SUBJECT WITH 5 SBPS.;

  if last.subject;

run;

通过上面的这段代码,就能输出一个dummy,具有访视2的数据集。

相关文章

  • 195:proc transpose和array处理缺失数据比较

    今天下班吃完饭后头很不舒服,看着直播什么也不做也没有感到放松,便在床上躺了一会儿,自己在迷迷糊糊中睡了快一个小时,...

  • proc transpose

    data score; input Student $9. +1 StudentID $ Section $ Te...

  • numpy的深浅拷贝与python list的深浅拷贝

    numpy中array数据类型的转置(transpose) numpy array的深浅拷贝 & python l...

  • SAS Proc Transpose

    SAS Day 42: Proc TransposeProc Transpose is a powerful pr...

  • 5.5 数据预处理

    数据预处理包括对收集的数据进行数据缺失处理、检测和过滤异常值及移除重复数据等步骤。 5.5.1 数据缺失处理 数据...

  • 数据清洗

    数据清洗:删除原始数据集中的无关数据,重复数据,平滑噪声数据,处理缺失值和异常值 缺失值的处理:删除记录 数据插补...

  • 机器学习 - 特征工程

    数据处理 缺失值处理行数据缺失过多,用户区分度就会降低,列数据缺失过多会导致建模存在偏差fillna:填充缺失值;...

  • 利用Python进行数据分析复现(六)

    第07章 数据清洗和准备 7.1 处理缺失数据 pandas使用浮点值NaN(Not a Number)表示缺失数...

  • 数据清洗和准备

    一、处理缺失数据 处理方法有: 1、滤除缺失数据 2、填充缺失数据 填充用fillna函数,它的参数有: 其中me...

  • pandas基础教程——Day2

    本章内容 数据处理 数据合并 一、数据处理 通过dropna()函数滤除缺失数据: 填充缺失数据:ffill与bf...

网友评论

    本文标题:195:proc transpose和array处理缺失数据比较

    本文链接:https://www.haomeiwen.com/subject/femwkdtx.html