r - R:有没有办法将两个数字列之间的值匹配到“n”个小数位?
问题描述
如果我有数据框:
x <- c(554.233, 540.331, 113.541, 722.320)
y <- c(540.330, 178.132, 722.321, 342.872)
df <- data.frame(x,y)
print(df)
x y
1 554.233 540.330
2 540.331 178.132
3 113.541 722.321
4 722.320 342.872
为两列之间的匹配值编制索引的最佳方法是最多两个小数点(即 x 列中的 540.331 和 y 列中的 540.330 将被匹配)?一旦我提取了匹配值,我还想将 x 和 y 中的匹配值彼此相邻对齐。类似于以下内容:
x y
1 554.233 NA
2 540.331 540.330
3 113.541 NA
4 722.320 722.321
我对 R 和一般编码都很陌生,因此对于任何格式错误或遗漏的信息,请提前道歉。谢谢您的帮助!
解决方案
我们可以match
在round
ed 值上使用
df$y <- with(df, y[match(round(x), round(y))])
df
# x y
#1 554.233 NA
#2 540.331 540.330
#3 113.541 NA
#4 722.320 722.321
推荐阅读
- asp.net - asp.net 中的安全 Cookie 和负载平衡器
- visual-studio-code - 如何在集成的 VS Code 终端中创建文件链接(不打印文件名)
- python - Discord 机器人代码不起作用(python)。我该如何解决?
- reactjs - 基于作为字符串 prop 传递的元素名称动态使用导入的元素
- node.js - 使用 Axios 将表单数据从前端发送到后端
- javascript - 如何根据同时更新的另一个对象更新一个对象的属性 - zustand?
- wordpress - 有没有办法在单击单选按钮时显示弹出窗口?
- java - 带有@ConditionalOnClass的Spring引导@Configuration不起作用
- java - 使用Java创建和访问redis数据库
- function - DB2 for i:非 UDF 宏函数?(用户定义函数很慢,但是复杂的公式很复杂)