Noob在这里。我试图传递" xmove1,"的值。 " xmove2,"和" xmove3"进入过滤器命令。
xmove1 <- "X3"
xmove2 <- "X1"
xmove3 <- "X5"
xtemp <- filter(fullTable, xmove1 == 1, xmove2 == 2, xmove3 == 3)
问题在于,它不是读取xmove1的值,而是将其作为字符串读取 - &#34; xmove1。&#34;
我也试过使用&#34; as.name,&#34;但结果似乎是一样的。
xtemp <- filter(fullTable, as.name(xmove1) == 1, as.name(xmove2) == 2, as.name(xmove3) == 3)
答案 0 :(得分:1)
如果要动态提供列名,请使用dplyr函数的标准评估替代方法(有关详细信息,请参阅vignette("nse")
)。
你可以
filter_(fullTable, .dots=list(
bquote(.(as.name(xmove1)) == 1),
bquote(.(as.name(xmove2)) == 2),
bquote(.(as.name(xmove3)) == 3)))