Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中带条件的For循环_R_Loops_If Statement_Conditional Statements - Fatal编程技术网

R中带条件的For循环

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

我在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      
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的时间?它看起来像是夏时制下的时间变化,所以您可以使用时间列来确定时间进度?如果没有,有一些方法可以在特定的日子里进行调整,但在整个时间段内进行调整可能更容易、更稳健。