SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 655|回复: 4
打印 上一主题 下一主题

求weekly mean的方法

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2009-11-2 11:49:24 | 只看该作者

求weekly mean的方法

我有一组time series data,variable就是date, var1......
我要求weekly mean of var1,怎么办?输出希望是year-month-week或者year-week,var1_mean这种形式。

monthly的话,我可以提取year and month然后用proc mean,但是weekly怎么处理?SAS里面没有找到这个week啊。

谢谢
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2009-11-2 12:56:57 | 只看该作者

Re: 求weekly mean的方法

SAS 中关于周的函数中有:week(),weekday(),另外在formats for NLS中有关于week的format:WEEKUw. Format,WEEKVw. Format,WEEKWw. Format.具体你可以在sas 9.1 help documents 中查找。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2009-11-2 13:50:43 | 只看该作者

Re: 求weekly mean的方法

在help里面居然没找到week语句,不过确实return出一年里的week数。居然还有第0周,那么比如2003年的第0周是否应该和2002年的最后一周是同一周?

那么现在如果combine year week,变成一个“year:week”这样格式的时间变量呢?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2009-11-2 22:04:26 | 只看该作者

Re: 求weekly mean的方法

我来回答有关WEEK的问题:
按照西方人的习惯,SAS定义SUNDAY 作为一个星期的第一天。那么顺理成章,week=0就是这一天(或者几天)在此年的第一个SUNDAY之前。一年可以从0-53,也可以从1-53 weeks。

[quote:2nymcgor]比如2003年的第0周是否应该和2002年的最后一周是同一周?[/quote:2nymcgor]
显然是有可能的。也就是说year()+week()无法清晰地定义某些weeks,某个week的某些天可能属于两个不同的year+week组合,但是某一天只能属于一个year+week组合,不是吗?所以使用year+week组合不可能造成某些data的重复使用,也不可能忽略某些data。

[quote:2nymcgor]那么现在如果combine year week,变成一个“year:week”这样格式的时间变量呢?[/quote:2nymcgor]

[code:2nymcgor]proc means;   class year week;   var UrVar;run;[/code:2nymcgor]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2009-11-4 11:00:15 | 只看该作者

Re: 求weekly mean的方法

[quote="jingju11":khstx1ed]我来回答有关WEEK的问题:[/quote:khstx1ed]
显然是有可能的。也就是说year()+week()无法清晰地定义某些weeks,某个week的某些天可能属于两个不同的year+week组合,但是某一天只能属于一个year+week组合,不是吗?所以使用year+week组合不可能造成某些data的重复使用,也不可能忽略某些data。

谢谢jingju!

不过按照这样的year+week,虽然在数据上不会重复,但是对于week=0这一周,本应和上一年末的week在一周,但是现在却分为两周分别平均了。我看了一下我的数据,貌似没有week=53的,那么week=52应该和week=0在同一周?

如果这时候只要碰到week=0,都把这个数据改成year=year-1, week=52,这样可行么?


另一个问题:如果我现在想要biweekly的平均有没有简便的方法?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-6 02:56 , Processed in 0.066959 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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