我无法在任何地方找到问题的答案。我有一个R数据帧,如果要满足另一列中的条件,我想按列的值进行过滤,否则就不应该过滤该值,而我最好使用Dplyr进行此操作。
对于我的数据框,仅在类型为“实数”的情况下,我希望过滤小于1的那些值(第三列)。
# My Dataframe dat = data.frame(dte = c("2011-01-01","2011-02-01","2011-03-01","2011-04-01","2011-05-01", "2011-01-01","2011-02-01","2011-03-01"), type = c("real","real","real","real","real","ts","ts","ts"), value=rnorm(8)) # Desired output dte type value 1 2011-01-01 real -1.0852682 3 2011-03-01 real -0.6664113 4 2011-04-01 real -0.7394061 5 2011-05-01 real -2.3819627 6 2011-01-01 ts -1.2122576 7 2011-02-01 ts 1.0923944 8 2011-03-01 ts -2.0373596
我尝试过此方法,但是它没有任何作用。
dat1 <- dat %>% filter(if(type == "real") value < 1 else value == value )
任何人都可以给我任何想法吗?
非常感谢!
Rachael
我无法在任何地方找到问题的答案。我有一个R数据框,并且如果满足其他列中的条件,我想按列的值进行过滤,否则值...
您可以使用: