我是R的新手,我将需要一些帮助来转换以下数据。我有两个日期和时间标注为以下格式的数据框:
> head(datagps)
Date & Time [Local] Latitude Longitude
1: 18/06/2018 03:01 -2.434901 34.85359
2: 18/06/2018 03:06 -2.434598 34.85387
3: 18/06/2018 03:08 -2.434726 34.85382
4: 18/06/2018 03:12 -2.434816 34.85371
5: 18/06/2018 03:16 -2.434613 34.85372
6: 18/06/2018 03:20 -2.434511 34.85376
并且:
> head(datasensor)
# A tibble: 6 x 4
Time x y z
<dttm> <int> <int> <int>
1 2018-06-19 10:40:00 60 74 95
2 2018-06-19 10:44:00 188 180 260
3 2018-06-19 10:48:00 171 134 218
4 2018-06-19 10:52:00 206 130 247
5 2018-06-19 10:56:00 200 130 240
6 2018-06-19 11:00:00 116 128 173
以datagps
作为参考,我想将c_bind()
的{{1}},x
和y
列从z
到{{1 }}匹配相同时间标签的行。
这可以通过创建一个新的数据框来完成。因此,输出应包含列:
datasensor
对于将缺少datagps
,Date & Time, Latitude, Longitude, x, y, z,
和x
的值的行,可以对其进行y
编辑。
是否有一个功能可以匹配带有时间标记的数据,或者需要“手动”完成?请注意,两个数据框中的日期和时间格式都不同。
感谢您的帮助。
答案 0 :(得分:1)
您可以为此使用//Retrieve an array from an API
$fields = ['field1'=>var1, 'field2'=>var2, ...];
$row = MyModel::ofField1($this->field1)->ofField2($fields['field2'])->first(); //Selects the row under field1 AND field2 condition. It is working.
$row->updateOrCreate($fields);//Should assign the new values to the model (but not persist)
//Next line should compare the model with what we have in the
//database. At least 1 value from the incomming array is different from what
//we have in the database - so Update the row with the new value.
if($row->isDirty()){
$row->save();
}
dplyr