【发布时间】:2021-04-20 01:52:01
【问题描述】:
希望你们一切安好。我有一个 R 问题,我认为这可能是直截了当的,但我无法为它想出一个简洁的代码。 假设我有一个名为“Bloom”的列,当没有检测到绽放时,它的值为 0,然后从 1 开始,直到没有绽放,然后重新开始为 0。我想创建一个新列,告诉我多久绽放持续。 在这里,我创建了一个示例数据框,该示例数据框作为绽放的示例。前 4 天没有开花,然后有一个持续 6 天的开花,所以我想要的新列会产生一个“6”来表示开花持续了 6 天。
bloom<- c(0,0,0,0,1,2,3,4,5,6,0,0,0)
persistence<- c(0,0,0,0,6,6,6,6,6,6,0,0,0)
bloom.df<- data.frame(bloom, persistence)
我在想你会计算值的数量 >0 并用新列填充新列,然后在检测到 0 后重新启动,但不确定这是否是最好的解决方案。 感谢您的帮助和建议!
【问题讨论】: