如何四舍五入到R中的特定小数 [英] How to round to specific decimal numbers in R

查看:9
本文介绍了如何四舍五入到R中的特定小数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前有2个全局数据集。一个是气候空间,另一个是物种发生数据。这两个数据集都有纬度和经度列。但是,气候空间纬度和经度被列为值NNN.75或NNN.25。我的引用数据纬度和经度更具体,范围从NNN.01到NNN.99。如何使用R将出现数据舍入到最接近的0.25或0.75点?

下面是我如何将出现点四舍五入到小数点后两位,但为了加入数据集,我需要匹配经度和纬度值。

occurrence <- Solanum_OccurrenceClean %>% 
  mutate_at(vars(lat,lon),funs(round(.,digits=2)))

感谢您的帮助!

推荐答案

在R中有两个用于%%%/%的全运算符,可用于获取除法的整数部分和小数部分。如果你有这个,并且你除以1,你可以很容易地做这个。

set.seed(123)

x <- rnorm(10, mean = 300) 

ifelse(x %% 1 > 0.5,
       x %/%1 + 0.75,
       x %/%1 + 0.25)

向量从这里开始

[1] 299.4395 299.7698 301.5587 300.0705 300.1293 301.7151 300.4609 298.7349 299.3131 299.5543

至此

 [1] 299.25 299.75 301.75 300.25 300.25 301.75 300.25 298.75 299.25 299.75

这篇关于如何四舍五入到R中的特定小数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆