首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Stata:在任何给定时间部署士兵的图表

Stata:在任何给定时间部署士兵的图表
EN

Stack Overflow用户
提问于 2015-07-15 16:50:50
回答 1查看 55关注 0票数 0

我想创建一个在任何给定时间部署在国外的士兵数量的时间表。

代码语言:javascript
运行
复制
Operation      Start         End            Soldiers
Operation 1    24.03.1999    14.01.2001     447
Operation 2    15.05.2004    03.03.2009     880
Operation 3    19.12.2006    24.01.2014     4390

为了简单起见,我假设在一次行动中部署的士兵数量随着时间的推移是恒定的。

然而,我们不能假设所有士兵都是在同一时间部署的,并在整个时期都留了下来。如果第四次行动持续了30年,由24000名士兵组成,我们不能假设所有24000人都部署了30年。如果需要的话,我们可以假设每个士兵都呆了一年。

我假设我应该生成一个句号,并将士兵数量除以天数。

代码语言:javascript
运行
复制
gen duration = End - Start

然而,我不知道从这里到哪里去。任何关于如何(a)确定任何给定年份部署的士兵(平均)数量和(b)明确表示这一点的建议都将深表感谢。

PS:过去关于绘图操作的一个问题是,有些操作是在同一天开始的。

EN

回答 1

Stack Overflow用户

发布于 2015-07-15 18:37:36

这比您担心的要简单,但是您需要一个不同的数据结构。考虑到海外士兵的数量在行动开始时增加,在行动结束时减少。如果你只想数士兵,他们是相同的人还是不同的人是无关紧要的。或者,您不给出计算不同士兵数量的基础信息。

这里的技术是在this paper中编写的,但其本质是通过其标题来传达的。根据结果,使用line可以立即绘制图形;它的connect(J)选项可能看起来很合适。

代码语言:javascript
运行
复制
clear 
input Operation  str10(sStart sEnd) Soldiers
1    "24.03.1999"    "14.01.2001"     447
2    "15.05.2004"    "03.03.2009"     880
3    "19.12.2006"    "24.01.2014"     4390
end 

foreach v in Start End { 
    gen `v' = daily(s`v', "DMY") 
    drop s`v' 
} 

expand 2 
bysort Operation: gen Date = cond(_n == 1, Start, End) 
by Operation: gen Status = (_n == 1) - (_n == 2)

format Date %td 
list 

sort Date Status 

gen Total = sum(Status * Soldiers) 
bysort Date : replace Total = Total[_N] 

list Date Status Soldiers Total, sep(0)  

     +---------------------------------------+
     |      Date   Status   Soldiers   Total |
     |---------------------------------------|
  1. | 24mar1999        1        447     447 |
  2. | 14jan2001       -1        447       0 |
  3. | 15may2004        1        880     880 |
  4. | 19dec2006        1       4390    5270 |
  5. | 03mar2009       -1        880    4390 |
  6. | 24jan2014       -1       4390       0 |
     +---------------------------------------+
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31425692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档