pbr*_*ach 5 indexing r dataframe
我刚刚追踪了一个由数据框中行名称部分匹配引起的错误。有没有办法在[使用全局匹配时禁用与运算符的部分匹配或生成警告?我知道这是可能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
Run Code Online (Sandbox Code Playgroud)
我不认为您可以禁用部分匹配,并且我不认为有一个单行解决方案适用于您的所有代码。解决该问题的一种解决方案是不使用字符而是使用整数/逻辑向量来索引行,例如在代码中替换df["a", ]为(或者更好的是,使用: )。df[rownames(df) == "a", ]tibblerownames_to_column(df) %>% filter(rowname == "aa")