【发布时间】:2019-08-13 21:22:31
【问题描述】:
我正在处理一些时间序列数据,其中每一行都是对一个人的观察,我有两个时间段,开始日期和结束日期。我正在尝试为每一年创建虚拟变量,这样如果年份介于开始日期和结束日期之间,则虚拟变量被编码为 1。
最终结果是按年份将其用于人口统计数据的可视化目的。
我查看了一些软件包,但它似乎从已经提供的变量中创建了虚拟变量。由于其中一列可能缺少某些年份,因此我正在尝试寻找替代选项。
id <- c(1:3)
start.date <- c(1990, 1850, 1910)
end.date <- c(2014, 1920, 1980)
df <- data.frame(id, start.date, end.date)
df
从数据结构中可以看出,例如,我希望个体 1 将 1990 年至 2014 年之间的虚拟变量编码为 1,否则为 0。
【问题讨论】:
-
你能从你的真实数据中提供一个样本吗?
-
上面的dataframe是从实际数据中提取出来的。
-
在实际数据中,您需要有一些不同的日期列。我在这里看不到。所以我不知道你的时间序列的起点。
-
时间序列的起点是最早的 start.date(本例中为 1850)。
-
我认为是面板数据集而不是时间序列数据。因为您也有单独的列。所以你有每个人从 1850 年到 2014 年的观察结果?这使它的长度为 165 * unique(id),对吗?
标签: r dummy-variable