r - 类似于 dplyr::distinct 的函数
问题描述
我有一个带有 x,y 位置(以像素为单位)的点的数据框,并且想过滤掉所有 +/- 5 像素的点。是否有类似于 dplyr::distinct() 但有截止的功能。
示例数据集:
X.1 XY
1 637 614
2 559 503
3 601 459
4 601 459
5 603 462
6 604 460
我期待输出:
X.1 XY
1 637 614
2 559 503
3 601 459 <- 保留第一个元素。
谢谢
解决方案
一个简单的解决方案是将数据四舍五入到最接近 5 的倍数,然后使用常规的 distinct 函数:
X.1$x <- round(X.1$x/5)*5
X.1$y <- round(X.1$y/5)*5
distinct(X.1,.keep_all = TRUE)
#Output:
X.1 X Y
1 635 615
2 560 505
3 600 560
但是,您的问题可能需要更高的准确性。
推荐阅读
- database - 有关 Informix 数据库 3.5 的信息
- r - 在 ggplot 图的图例中不需要换行
- java - 同步块锁定在类
- go - 使用 gorm Find() 检索多行时出现致命错误
- reactjs - 缩小反应错误 #321;访问 https://reactjs.org/docs/error-decoder.html?invariant=321
- c# - 在 Xamarin Forms 中单击后如何暂时禁用按钮?
- reactjs - 是否可以在 React 测试库中定义自定义 fireEvent?
- c# - 如何在 NUnit Core 的 ProcessModel 中分离调试器
- exchangewebservices - 如何使用 updateItem 同时更新读取和标记属性
- ruby - bundler_version_finder.rb:80:in `pwd': 不允许操作 - getcwd (Errno::EPERM)