我正在尝试根据围绕第二个数据框的值的范围创建数据框的子集,我一直在研究,但我就是不知道如何去做。我在这里使用了虚拟数据,因为它们都是包含许多列的大型数据集。
数据帧 1 (df1) 有 50 列,不同纬度的数千条记录
录音 | 纬度 |
---|---|
BombusL | 51.41 |
ApisM | 51.67 |
BombusR | 51.34 |
Data Frame 2 (df2) 在不同纬度有数百个城镇,明显小于 df1
城镇 | 纬度 |
---|---|
布里斯托尔 | 51.40 |
默顿 | 51.42 |
霍舍姆 | 51.33 |
我需要一个 df1 的子集,它只包含纬度在 df2 中纬度 0.01 以内的行。因此,代码需要查看 df1 的每一行,并针对 df2 的每一行测试该数字。输出将仅包括 df1 中纬度值在 df2$Latitude 值的 0.01 范围内的行。
从示例中,将包括以下几行
录音 | 纬度 |
---|---|
BombusL | 51.41 |
BombusR | 51.34 |
我有代码的开头来做一个过滤器,然后我可以运行数据框来创建子集
LatFil <- df1$latitude %in% df2$latitude)
但是我不知道如何输入df2$latitude值的±0.01的逻辑测试
答案 0 :(得分:2)
当涉及到精度时(即加减0.01,它是一个浮点数),最好使用比较运算符而不是固定匹配
subset(df1, (Latitude >= (df2$Lat - 0.01)) &
(Latitude <= (df2$Lat + 0.01)))
答案 1 :(得分:2)
另一种选择:
@if($errors->any())
@foreach ($errors->all() as $element)
<li>{{ $element }}</li>
@endforeach
@endif