R中带条件的For循环
我在R中有一个包含7个日期的列表,我想在另一个数据框中搜索这些日期并更改另一列的值。 我的名单是(“2015-03-29”“2016-03-27”“2017-03-26”“2018-03-25”“2019-03-31”“2020-03-29”“2021-03-28”) 数据帧是:R中带条件的For循环,r,loops,if-statement,conditional-statements,R,Loops,If Statement,Conditional Statements,我在R中有一个包含7个日期的列表,我想在另一个数据框中搜索这些日期并更改另一列的值。 我的名单是(“2015-03-29”“2016-03-27”“2017-03-26”“2018-03-25”“2019-03-31”“2020-03-29”“2021-03-28”) 数据帧是: df date time time_prog value1 value2 2015-01-01 0:00 1 4532 334
df
date time time_prog value1 value2
2015-01-01 0:00 1 4532 334
2015-01-01 0:10 1 4589 485
2015-01-01 0:20 1 4232 324
2015-01-01 0:30 1 4689 345
2015-01-01 0:40 1 4572 354
2015-01-01 0:50 1 4129 455
2015-01-01 1:00 2 3332 324
2015-01-01 1:10 2 3589 475
2015-01-01 1:30 2 5532 384
2015-01-01 1:40 2 6589 685
2015-01-01 1:50 2 4552 534
2015-01-01 2:00 3 4549 475
2015-01-01 2:10 3 4232 384
2015-01-01 2:20 3 4289 455
.
.
.
omitted 331363 rows
我的数据是从2015年1月1日到今天的所有日期,因此请确保列表中的日期在date列中
这是我的数据框中我想更改的部分
df
date time time_prog value1 value2
2015-03-29 1:00 2 4532 334
2015-03-29 1:10 2 4589 485
2015-03-29 1:20 2 4232 324
2015-03-29 1:30 2 4689 345
2015-03-29 1:40 2 4572 354
2015-03-29 1:50 2 4129 455
2015-03-29 3:00 4 3332 324
2015-03-29 3:10 4 3589 475
2015-03-29 3:20 4 5532 384
2015-03-29 3:30 4 6589 685
2015-03-29 3:30 4 4652 594
2015-03-29 3:50 4 4552 534
2015-03-29 4:00 5 4549 475
当它显示一个4列的time_prog时,我希望看到一个3,在接下来的几个小时里也是如此,其余的1到所有的下一个值,但就那一天而言,在一天结束时,它应该是这样结束的
df
date time time_prog value1 value2
2015-03-29 23:00 23 4532 334
2015-03-29 23:10 23 4589 485
2015-03-29 23:20 23 4232 324
2015-03-29 23:30 23 4689 345
2015-03-29 23:40 23 4572 354
2015-03-29 23:50 23 4129 455
2015-03-30 0:00 1 3332 324
2015-03-30 0:10 1 3589 475
2015-03-30 0:20 1 5532 384
2015-03-30 0:30 1 3332 324
2015-03-30 0:40 1 3589 475
2015-03-30 0:50 1 5532 384
2015-03-30 1:00 2 3332 324
2015-03-30 1:10 2 3589 475
2015-03-30 1:20 2 5532 384
我收到的是这个循环
df
date time time_prog value1 value2
2015-03-29 23:00 23 4532 334
2015-03-29 23:10 23 4589 485
2015-03-29 23:20 23 4232 324
2015-03-29 23:30 23 4689 345
2015-03-29 23:40 23 4572 354
2015-03-29 23:50 23 4129 455
2015-03-30 0:00 0 3332 324
2015-03-30 0:10 0 3589 475
2015-03-30 0:20 0 5532 384
2015-03-30 0:30 0 3332 324
2015-03-30 0:40 0 3589 475
2015-03-30 0:50 0 5532 384
2015-03-30 1:00 1 3332 324
2015-03-30 1:10 1 3589 475
2015-03-30 1:20 1 5532 384
我希望你能理解我想要的,它只需要应用在列表上的7个日期上,因为这些是时间改变的日期,还有一个小时少了,因为在2点时它会自动变为3点。谢谢你抽出时间 欢迎来到SO!我想知道您是否可以使用
time
列来一致地确定time\u prog
-这可能吗?例如,time\u prog
始终是小时还是time
中的“hour+1”?1:00是否应始终具有2的时间?它看起来像是夏时制下的时间变化,所以您可以使用时间列来确定时间进度?如果没有,有一些方法可以在特定的日子里进行调整,但在整个时间段内进行调整可能更容易、更稳健。