我刚刚追踪到一个由于数据帧中行名称的部分匹配引起的错误。是否有一种方法可以使用[
操作符禁用部分匹配或在使用全局匹配时生成警告?我知道可以通过[[
操作符的exact = TRUE
选项或使用options(warnPartialMatchDollar = TRUE)
来进行配置$
索引。
df <- data.frame(ab=1:4,cd=1:4)
rownames(df) <- paste0(letters[1:4],"a")
options(warnPartialMatchDollar = TRUE)
df$a # warning!
df["a",] # no warnig
$
进行部分匹配时发出警告:http://stat.ethz.ch/R-manual/R-devel/doc/html/NEWS.html - Hong Ooidf[, "a"]
将出错。查看[.data.frame
的代码,可以发现在if (is.character(i))
语句中确实使用了pmatch
。 - flodel