SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1978|回复: 10
打印 上一主题 下一主题

如何在一个数据集中插入观测?谢谢!

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2008-1-23 20:03:45 | 只看该作者

如何在一个数据集中插入观测?谢谢!

已有数据集a,有两个变量x和y,想在特定位置插入一些观测,比如说在第15个观测和16个观测中间插入一个观测,插入的观测成为新的第16个观测,后面的观测依次延后。该如何写程序呢?谢谢指教!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2008-1-24 10:06:50 | 只看该作者

Re: 如何在一个数据集中插入观测?谢谢!

在我的印象里,好象SAS数据集不能够在中间插入,除非用Data step 或proc SQL重新生成一下,或者你把新的观测append到后面。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2008-1-24 13:34:18 | 只看该作者

Re: 如何在一个数据集中插入观测?谢谢!

先谢谢了,偶搜索网页的时候看到说SQL可以插入行,不知道这个跟我说的是不是一种插入
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2008-1-26 12:43:41 | 只看该作者

Re: 如何在一个数据集中插入观测?谢谢!

[code:2n4ygjf5]
data result;
      set a;
      output;
      if _n_=15 then do;
           x=.;
           y=.;
           output;
      end;
run;
[/code:2n4ygjf5]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2008-1-28 14:40:25 | 只看该作者

Re: 如何在一个数据集中插入观测?谢谢!

楼上给的程序是错的,执行的结果只是把第五个观测值替换成了missing value。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2008-1-28 21:10:10 | 只看该作者

Re: 如何在一个数据集中插入观测?谢谢!

我测试下来没问题!
我这里x=.,y=.故意没写值(要插什么值自己写,我是随便写了.,关键是看楼主自己要插什么值),
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
7#
 楼主| 发表于 2008-1-28 21:50:19 | 只看该作者

Re: 如何在一个数据集中插入观测?谢谢!

我运行了下是对的呀
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
8#
 楼主| 发表于 2008-1-29 09:08:50 | 只看该作者

Re: 如何在一个数据集中插入观测?谢谢!

我也觉得逻辑是正确的,符合楼主的原始需求。
只不过可以继续探讨一下,如果一个很大的dataseta采用set语句+output语句来插入一条记录,performance肯定很成问题。能不能考虑用update语句?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
9#
 楼主| 发表于 2008-1-31 13:58:51 | 只看该作者

Re: 如何在一个数据集中插入观测?谢谢!

update语句确实得好好研究一下,
以前听说update语句在大数据集时效果不太好,
但具体也没怎么用过,
希望能探讨一下
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
10#
 楼主| 发表于 2008-1-31 21:01:28 | 只看该作者

Re: 如何在一个数据集中插入观测?谢谢!

楼上说的很对,我以前用过update效率很慢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-4 17:36 , Processed in 0.070135 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表