如何解决R语言中使用near函数时的unused argument错误?
R代码报错:unused argument问题解决
问题根源
- 管道运算符写错了,应该是
%>%,你写成了%>,这会导致管道传递逻辑出错 near()函数的参数规则是near(x, y, tol = 1e-8),最多只接受3个参数。你用管道把flights数据集直接传给near()当第一个参数,后面又加了3个参数,等于给函数塞了4个参数,自然会报"unused argument"错误。
正确代码示例
要验证这三个变量的关系,得结合dplyr的mutate()或filter()来用near(),比如:
# 新增列标记两组值是否近似相等 flights %>% mutate(is_match = near(dep_time - sched_dep_time, dep_delay, tol = 1)) # 筛选出不符合关系的异常行 flights %>% filter(!near(dep_time - sched_dep_time, dep_delay, tol = 1))
变量关联逻辑
按业务逻辑,dep_delay(实际起飞延误时长)就等于dep_time(实际起飞时间)减去sched_dep_time(计划起飞时间)。但因为数据里的时间是HHMM格式的整数(比如0930代表9点30分),可能存在转换或记录误差,所以用near()来判断近似相等,比直接用==更稳妥。
内容的提问来源于stack exchange,提问作者jia.out
相关产品推荐
相关产品推荐

