如何创建一个由基于其他两个变量的序列组成的新变量?

how to create a new variable that consists of a sequence based on two other variables?

提问人:rororo 提问时间:6/22/2023 最后编辑:rororo 更新时间:6/23/2023 访问量:31

问:

我想创建一个变量,根据我所掌握的有关女性月经周期长度和月经开始的信息来反映女性的月经周期日。我知道她们的最后一次月经是什么时候开始的(在研究开始之前),然后连续记录了35天,女性提供了她们是否开始月经。我拥有的变量是:学习日(1-35,每个人都一样)、周期长度(因人而异,根据开始上一个时期到开始新时期计算)和开始月经(即他们表示新时期开始的学习日)。

在我的实际数据集中,每个 ID 都有 35 个数据点,周期长度约为 30 天,但因人而异。只是为了让您对我要创建的序列类型有一个印象,我提供了一个非常简化的数据集。因此,在简单/简短版本中,人 1 的周期长度是 5,月经从第 2 天开始,所以第 2 天是该人的第 1 天,而第 1 天是第 5 天(周期的最后一天)。 Cycleday(最后一个变量)是我想用代码创建的变量。

编号 学习日 startmenstr cyclength 周期日
1 1 2 5 5
1 2 2 5 1
1 3 2 5 2
2 1 3 4 3
2 2 3 4 4
2 3 3 4 1
3 1 2 6 6
3 2 2 6 1
3 3 2 6 2

或者,我可以将 startmenstr 用作二元变量,其中 1 表示它开始的研究日,0 表示其他日子,而不是重复它开始的研究日,如果这会有所帮助的话。

我读过很多帖子,但没有遇到一个使用另一个变量中的信息作为序列长度和另一个变量作为起点的帖子,所以我不知道从哪里开始。谁能帮我?如何使这个变量成为变量?

DPLYR 序列 数据操作

评论

0赞 PCK1992 6/22/2023
为什么 ID 1 的周期日从第二天的 5 天跳到 1,为什么这个女人的周期长度是 5?我不明白您的描述中的数据结构。变量应该反映哪些信息?
0赞 rororo 6/22/2023
在我的实际数据集中,每个 ID 有 35 个数据点,周期长度约为 30 天。只是为了让您对我要创建的序列类型有一个印象,我提供了一个非常简化的数据集。因此,在简单/简短版本中,人 1 的周期长度是 5,周期从第 2 天开始,因此第 2 天是该人的第 1 天,而第 1 天是周期第 5 天(周期的最后一天)。因此,我正在寻找一个变量,该变量可以根据周期长度和起始时间反映每个人的个人周期日。希望能澄清
0赞 PCK1992 6/23/2023
好吧,这更有意义。我认为你应该用这个描述来更新你原来的问题。我看到这是你的第一个问题,所以请始终记住,没有人像你一样了解你的问题:)这让我想到了另一个问题:“一个变量,它反映了每个人基于周期长度和启动时间的个人周期日。我仍然不完全清楚这个变量应该是什么意思?这难道不是基本上每列中值的组合,您可以将其组合为单个变量吗?如:第一天周期,第一天学习,获得 1-1 等。
0赞 rororo 6/23/2023
对不起:-)新变量将向我显示每个人在月经周期的哪一天。这些信息现在不见了,我只知道每个个人周期有多长,以及他们周期的开始日期是什么时候。因此,序列的长度因人而异,数字的分布也不同(因为它们的开始日期不同)。这可能很简单,但我只是不知道该怎么做......希望您或某人可以帮助编写一些代码。无论如何谢谢:-)
0赞 PCK1992 6/26/2023
但这不就是周期长度吗?我以为这准确地告诉你它们是周期的哪一天。

答: 暂无答案