【发布时间】:2013-04-24 22:55:33
【问题描述】:
我试图将数字与向量匹配,如下所示:
t <- seq(-4,4,length=81)
tifl.e <--1.5
tifc.e <--0.5
tifr.e <-0.5
tifl.m <--1.6
tifc.m <--0.4
tifr.m <-0.8
match( c(tifl.e, tifc.e, tifr.e), t)
[1] 26 36 46
match( c(tifl.m, tifc.m, tifr.m), t)
[1] NA NA NA
我也尝试了代码,但结果相同。
tifl.cut <-c(-1.5,-1.6)
tifc.cut <-c(-0.5,-0.4)
tifr.cut <-c(0.5,0.8)
match( c(tifl.cut[1], tifc.cut[1], tifr.cut[1]), t)
[1] 26 36 46
match( c(tifl.cut[2], tifc.cut[2], tifr.cut[2]), t)
[1] NA NA NA
同时,我使用 %in% 尝试了类似的语法,得到了完全相同的结果。
那么语法有什么问题呢?我应该如何解决它?
感谢您的意见。
【问题讨论】:
-
浮点错误:
t[25] == tifl.m返回FALSE所以match和%in% will also. You could write your own version of match that does "fuzzy" matching using theall.equal` 函数代替! -
我认为,如果您要为问题命名“函数 XXX 不起作用”,最好真的确保它是功能问题而不是用户问题