我想知道您是否可以帮助我设计一种轻松的方法来编码我正在使用的这个国家年事件数据。
在下面的示例中,每一行都对应一个正在进行的事件(我最终会将其折叠到一个更广泛的面板数据集中,这就是它现在看起来很裸露的原因)。因此,例如,国家 29 于 1920 年开始了一个事件,该事件在 1921 年继续(并结束)。国家 23 的事件于 1921 年开始,一直持续到 1923 年。国家 35 的事件开始于发生在 1921 年,仅在 1921 年,等等。
country year
29 1920
29 1921
23 1921
23 1922
23 1923
35 1921
64 1926
135 1928
135 1929
135 1930
135 1931
135 1932
135 1933
135 1934
120 1930
70 1932
我想要做的是创建“开始”和“持续”变量。此示例数据框中的“持续”变量很容易。基本上:Data$ongoing <- 1
我对创建“起始”变量更感兴趣。如果它标志着给定国家的事件的开始,它将被编码为 1。基本上,给定这个示例数据,我想创建一个看起来像这样的变量。
country year onset
29 1920 1
29 1921 0
23 1921 1
23 1922 0
23 1923 0
35 1921 1
64 1926 1
135 1928 1
135 1929 0
135 1930 0
135 1931 0
135 1932 0
135 1933 0
135 1934 0
120 1930 1
70 1932 1
如果您能想到在 R 中轻松做到这一点的方法(在 Excel 等电子表格程序中使用它时最大限度地减少人为错误的机会),我将不胜感激。我确实看到了这个相关的问题,但是这个人的数据集看起来不像我的,它可能需要不同的方法。
谢谢。此示例数据的可重现代码如下。
country <- c(29,29,23,23,23,36,64,135,135,135,135,135,135,135,120,70)
year <- c(1920,1921,1921,1922,1923,1921,1926,1928,1929,1930,1931,1932,1933,1934,1930,1932)
Data=data.frame(country=country,year=year)
summary(Data)
Data