楼主: wfldragon
5199 9

[其他] 如何简便地生成年份的分组 [推广有奖]

江湖书生

已卖:1227份资源

学科带头人

86%

还不是VIP/贵宾

-

威望
0
论坛币
30343 个
通用积分
248.5063
学术水平
72 点
热心指数
103 点
信用等级
44 点
经验
252232 点
帖子
1783
精华
0
在线时间
2517 小时
注册时间
2007-6-25
最后登录
2025-1-11

楼主
wfldragon 发表于 2012-3-3 15:10:44 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如题,假如有一系列年份的数据,现在想将其以五年为一段分成新的组,并给不同的组编号:原始变量:
1948
1950
……
1990

生成:
1 (-1950)
2 (1951-1955)
……

初步想应该是可以用逐个替换或foreach实现,不过不知有没有简单的做法?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:foreach Reach For 有没有 如何

沙发
wfldragon 发表于 2012-3-3 15:12:44
最好自动生成label,呵呵
研究需要我们共同努力!

藤椅
wfldragon 发表于 2012-3-3 15:44:10
egen 命令竟然可以搞定,呵呵
研究需要我们共同努力!

板凳
sungmoo 发表于 2012-3-3 18:03:17
recode可以

报纸
wfldragon 发表于 2012-3-4 00:57:21
sungmoo 发表于 2012-3-3 18:03
recode可以
recode 怎么实现啊?
研究需要我们共同努力!

地板
sungmoo 发表于 2012-3-4 04:08:47
recode 怎么实现啊?
若你知道egen可以实现,也可以告诉大家的

7
bbs0805 发表于 2012-3-4 09:32:51
egen 命令竟然可以搞定

8
wfldragon 发表于 2012-3-5 10:12:13
egen cut(, , ,)格式
研究需要我们共同努力!

9
sungmoo 发表于 2012-3-5 11:22:33
recode year (min/1950=1 "(-1950)")(1951/1955=2 "(1951-1955)")(1956/1960=3 "(1956-1960)")(1961/max=4 "(1961-)"),g(y)

10
赵安豆 发表于 2024-6-26 10:22:26
你可以使用一些编程语言中的数学和逻辑操作来简便地实现年份分组。下面我将给出一个在Python中如何实现的例子:

```python
# 原始年份数据列表
years = [1948, 1950, 1952, 1963, 1975, 1986, 1990]

# 定义一个函数来计算分组编号
def year_group(year):
    return (year - 1948) // 5 + 1

# 使用列表推导式生成新的分组编号列表
groups = [year_group(year) for year in years]

# 打印结果
print(groups)
```

这个函数`year_group()`的作用是将输入的年份减去起始年份(这里是1948)后除以5并向下取整,然后加上1得到组编号。这样处理可以确保从1开始计数,并且每五年一组。

对于其他编程语言,如R或者Stata,也可以采用类似的方法来实现:

在R中:
```r
years <- c(1948, 1950, 1952, 1963, 1975, 1986, 1990)
groups <- ((years - 1948) %/% 5) + 1
print(groups)
```

在Stata中,你可以使用`egen`命令或者直接使用算术操作来生成分组变量:
```stata
clear all
input year
1948
1950
1952
1963
1975
1986
1990
end

gen group = int((year - 1948)/5) + 1
list year group
```

以上代码在各个编程环境中都可以生成以五年为一段的年份分组。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-5 16:15