有办法还是写作
filter(dataDF, column1 == 'myvalue' & column2 == 'myvalue')
无需写出myvalue
两次?
答案 0 :(得分:4)
您可以使用dplyr::filter_at
filter_at(dataDF, c("column1", "column2"), all_vars(. == 'myvalue'))
答案 1 :(得分:2)
通过你的评论,
嗯,比我的好。我想要做的原因是1.这样,如果我需要在以后编辑“myvalue”,我只需要在一次更改它和2.使代码尽可能高效和简短。您的解决方案解决了数字1.但不是数字2
您可以将'myValue'放在变量中并使用它。这样你只需要在一个地方更新/改变它。
sudo snap install pycharm-community --classic
答案 2 :(得分:0)
一种笨重的基础R解决方案
df[do.call(`&`, lapply(df[, c('column1', 'column2')], `==`, myvalue)), ]