【发布时间】:2021-06-27 13:07:14
【问题描述】:
我想在包含每次骑行距离的数据集中添加一个新列。为了计算这样的距离,我使用 hasrsine 公式使用每次旅行的起点和终点的给定坐标。
我在计算距离方面取得了成功,但在以我可以阅读的方式将该列添加到数据中时遇到了困难。
在不添加列的情况下,我得到一个 double 类型的临时列 (ride_distance)(如我所愿),显示如下所示的值:
filtered_dataset %>% rowwise() %>%
mutate(ride_distance=distHaversine(c(start_lon, start_lat), c(end_lon, end_lat)))
尝试将该列添加到我添加的数据时得到的结果:
filtered_dataset$ride_distance <- filtered_dataset %>%
rowwise() %>%
mutate(distHaversine(c(start_lon, start_lat), c(end_lon, end_lat)))
使用 head() 读取该列的值我得到了这个,它们甚至没有显示为相同的值......:
如何将距离值作为双精度值添加到数据中,以便继续使用它进行计算?
【问题讨论】:
-
你能分享一段
dput(head(data))的数据集吗? -
你已经有了答案。您需要将值分配回数据集而不是一列。
filtered_dataset <- filtered_dataset %>% rowwise() %>% mutate(ride_distance=distHaversine(c(start_lon, start_lat), c(end_lon, end_lat)))。filtered_dataset <-是你所缺少的。 -
@RonakShah,作为答案发布? (“我未能将结果分配回原始变量名”是否存在规范重复?)
-
我不知道。感谢您的回答:)
标签: r calculated-columns dplyr haversine