提问人:nick 提问时间:4/23/2023 最后编辑:vimuthnick 更新时间:4/24/2023 访问量:38
条件为 False 后如何继续 while 循环?
how can i continue a while loop after the condition is False?
问:
我正在尝试计算每日平均温度持续下降的最大天数。 所以,首先,我试图计算日温度持续下降的天数。之后,我将找到这些值的最大数量。问题在于,while loop 仅计算连续递减的前五天并停止,因为条件为 false。如何继续使用其余值?或者有一种更简单的方法可以用应用家庭来做到这一点?
a=
dfmean[,4]while x=x+1
打印(x)
i=i+1'i=1 x=0
(a[i+1,]<a[i,]) {
}`
答:
1赞
Andre Wildberg
4/23/2023
#1
如果这是您的数据
set.seed(42)
df <- data.frame(Date = seq(as.Date("2022-02-01"), as.Date("2022-02-10"), 1),
temp_mean = runif(10) * 10)
df
Date temp_mean
1 2022-02-01 9.148060
2 2022-02-02 9.370754
3 2022-02-03 2.861395
4 2022-02-04 8.304476
5 2022-02-05 6.417455
6 2022-02-06 5.190959
7 2022-02-07 7.365883
8 2022-02-08 1.346666
9 2022-02-09 6.569923
10 2022-02-10 7.050648
使用 和 获取最大连续递减值数diff
rle
df_rle <- rle(diff(df$temp_mean) < 0)
max(df_rle$lengths[df_rle$values], na.rm = T)
[1] 2
评论