SAS在另一个数据集中使用查找数据集(例如数组)

用户名

我有1个数据集,其中包含学校内容的内容描述:

num       description
content1  math
content2  spanish
content3  geography
content4  chemistry
content5  history

在另一个数据集(学生)中,我具有数组content1-content5,并且我使用一个标志来指示每个学生都有的内容。

学生

name age content1 content2 content3 content4 content5 
BOB  15     1        1        1                 1   
BRYA 16
CARL 15              1                          1  
SUE  17                       1        1        1
LOU  15                                         1 

如果我使用这样的代码:

    data students1;
    set students;
    array content[5];
    format allcontents $100.;
    do i=1 to dim(content);
    if content[i]=1 then do;
    allcontents=cat(vname(content[i]),',',allcontents); 
    end;
    end;
    run;

结果是:

name age content1 content2 content3 content4 content5 allcontents 
BOB  15     1        1        1                 1     content1,content2,content3,content5,
BRYA 16
CARL 15              1                          1     content2,content5,
SUE  17                       1        1        1     content3,content4,content5,
LOU  15                                         1     content5

1)我想使用查找表(数据集内容)的名称来使用内容的名称,而不是变量allcontents中content [1-5]的数组名称。我怎样才能做到这一点?

2)及更高版本,我想要按内容描述而不是按学生描述的结果,像这样:

description  name age
math         BOB  15
spanish      BOB  15
geography    BOB  15
history      BOB  15
spanish      CARL 15
history      CARL 15
spanish      SUE  17
chemistry    SUE  17 
history      SUE  17
history      LOU  15 

是否有可能?

谢谢。

DomPazz

首先,从这篇文章中获取%create_hash()宏

使用哈希表查找值。

data students1;
set students
array content[5];
format num $32. description $16.;
if _n_ = 1 then do;
   %create_hash(cnt,num,description,"contents");
end;
do i=1 to 5;
   if content[i]=1 then do;
      num = vname(content[i]);
      rc = cnt.find();
      output;
   end;
end;
keep description name age;
run;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从另一个数据集中的另一个数据集中找到数据的对应关系

来自分类Dev

根据SAS中的另一个数据集对值进行排名

来自分类Dev

从另一个数据集(VBA)查找值的最快方法(代码加速)

来自分类Dev

如何对在另一个数据集的时间间隔内发生的每个ID中的一个数据集中的总观测值求和

来自分类Dev

如何将使用k-medoids算法(例如PAM)的聚类解决方案应用于另一个数据集?

来自分类Dev

根据另一个数据集中的列值在一个数据框中创建列

来自分类Dev

将长数据除以R中另一个数据集中的值

来自分类Dev

计算数据集中的行与R中另一个数据集的所有行之间的差

来自分类Dev

根据来自另一个数据集的列计算统计量(例如,总和,均值...)

来自分类Dev

使用来自另一个数据集的信息在SAS中创建网格数据

来自分类Dev

查找数组中的数据,如果它与另一个数组匹配,则删除

来自分类Dev

SAS:如果观测值与另一个数据集中的观测值匹配,则将其从数据集中删除

来自分类Dev

使用SAS中的另一个数据集从数据集中提取

来自分类Dev

如何在另一个数组matlab中使用数据访问数组

来自分类Dev

SAS数据步骤-在当前数据集中,遍历另一个数据集以获取价值

来自分类Dev

使用另一个数据帧查找数据帧的对应行值

来自分类Dev

根据SAS中的另一个数据集对值进行排名

来自分类Dev

从一个数据集中提取一个列,并使用R中的第三个数据集中的列创建另一个数据集

来自分类Dev

根据来自另一个数据集的PROC SQL的结果更新SAS数据集

来自分类Dev

根据另一个数据集中的值更改另一个数据集中的值

来自分类Dev

在一个数组中查找数据以构建另一个数组

来自分类Dev

根据另一个数组中的数据过滤一个数组

来自分类Dev

PAM聚类-在另一个数据集中使用结果

来自分类Dev

如何用Java创建具有多个数据类型的数组以在另一个类中使用

来自分类Dev

SAS:如何使用另一个数据集自动创建多个数据集

来自分类Dev

SAS - 使用另一个数据集的条件修改一个数据集

来自分类Dev

如何在R中另一个数据集的列中选择一个数据集中的一些行?

来自分类Dev

检查数据集的行是否也在另一个数据集中并提取索引

来自分类Dev

R根据来自另一个数据集的间隔填充新列(查找)

Related 相关文章

  1. 1

    从另一个数据集中的另一个数据集中找到数据的对应关系

  2. 2

    根据SAS中的另一个数据集对值进行排名

  3. 3

    从另一个数据集(VBA)查找值的最快方法(代码加速)

  4. 4

    如何对在另一个数据集的时间间隔内发生的每个ID中的一个数据集中的总观测值求和

  5. 5

    如何将使用k-medoids算法(例如PAM)的聚类解决方案应用于另一个数据集?

  6. 6

    根据另一个数据集中的列值在一个数据框中创建列

  7. 7

    将长数据除以R中另一个数据集中的值

  8. 8

    计算数据集中的行与R中另一个数据集的所有行之间的差

  9. 9

    根据来自另一个数据集的列计算统计量(例如,总和,均值...)

  10. 10

    使用来自另一个数据集的信息在SAS中创建网格数据

  11. 11

    查找数组中的数据,如果它与另一个数组匹配,则删除

  12. 12

    SAS:如果观测值与另一个数据集中的观测值匹配,则将其从数据集中删除

  13. 13

    使用SAS中的另一个数据集从数据集中提取

  14. 14

    如何在另一个数组matlab中使用数据访问数组

  15. 15

    SAS数据步骤-在当前数据集中,遍历另一个数据集以获取价值

  16. 16

    使用另一个数据帧查找数据帧的对应行值

  17. 17

    根据SAS中的另一个数据集对值进行排名

  18. 18

    从一个数据集中提取一个列,并使用R中的第三个数据集中的列创建另一个数据集

  19. 19

    根据来自另一个数据集的PROC SQL的结果更新SAS数据集

  20. 20

    根据另一个数据集中的值更改另一个数据集中的值

  21. 21

    在一个数组中查找数据以构建另一个数组

  22. 22

    根据另一个数组中的数据过滤一个数组

  23. 23

    PAM聚类-在另一个数据集中使用结果

  24. 24

    如何用Java创建具有多个数据类型的数组以在另一个类中使用

  25. 25

    SAS:如何使用另一个数据集自动创建多个数据集

  26. 26

    SAS - 使用另一个数据集的条件修改一个数据集

  27. 27

    如何在R中另一个数据集的列中选择一个数据集中的一些行?

  28. 28

    检查数据集的行是否也在另一个数据集中并提取索引

  29. 29

    R根据来自另一个数据集的间隔填充新列(查找)

热门标签

归档