【发布时间】:2020-03-07 01:16:32
【问题描述】:
我想创建一个新的列循环如下:
Household person trip ZoneOfHome start_zone end_zone
1 1 1 22 22 13
1 1 2 22 13 22
1 1 3 22 22 34
1 1 4 22 34 22
1 2 1 22 22 13
1 2 2 22 13 22
2 1 1 15 15 15
2 1 2 15 15 15
2 1 3 15 15 45
2 1 4 15 45 15
3 1 1 17 6 17
3 1 2 17 17 10
3 1 3 17 10 17
第一列是家庭的索引。第二列是那个家庭的人的索引。第三列是一天中每个家庭每天的出行指数。 zoneOfHome 是该家庭的住宅区域。 start_zone 是一个人从那里开始他/她的旅行的区域,而 end_zone 是一个人前往那里的地方的区域。 循环是从家开始到家结束的一系列行程。 我想要一个新列“循环”,它确定家庭成员每次旅行的循环。我在 3 个不同的家庭中展示了 3 种不同的情况。
1-在上面的例子中,第一个家庭的家区是 22。第一个人的第一次旅行是从家到 13 区。然后从 13 到家。所以这个人的第一个循环是:
22 -> 13 -> 22
此人的第二个循环是22->34 -> 22
第二人称循环是22 -> 13 -> 22
2-第二家有点复杂。家的区域是15。第一个人的旅行是15到15。(所以离家很近的地方)。这并不意味着 15-> 15 是一个循环。 这个人从 15 到 15 又从 15 到 15,所以循环是
15 -> 15 -> 15 >- 15
他的第二个循环是15 -> 45 -> 15。
3- 在第三个家庭中,第一个人的第一次旅行不在家。因此,我们删除了第一次旅行并从以家为基础的旅行开始。循环是17 -> 10 -> 17
Household person trip ZoneOfHome start_zone end_zone loop
1 1 1 22 22 13 1
1 1 2 22 13 22 1
1 1 3 22 22 34 2
1 1 4 22 34 22 2
1 2 1 22 22 13 1
1 2 2 22 13 22 1
2 1 1 15 15 15 1
2 1 2 15 15 15 1
2 1 3 15 15 45 2
2 1 4 15 45 15 2
3 1 1 17 6 17 -
3 1 2 17 17 10 1
3 1 3 17 10 17 1
【问题讨论】:
标签: r