如何在分组变量后从数据表中删除行?
我有id
,date
一个数据X和details
列:如何在分组变量后从数据表中删除行?
id date details
1 28-07-2017 20:01:30 NA
2 28-07-2017 18:01:30 NA
1 28-07-2017 22:02:20 SQL
2 28-07-2017 19:01:30 SQL
1 29-07-2017 22:20:00 NA
3 30-07-2017 18:01:30 NA
3 31-07-2017 18:01:30 SQL
4 28-07-2017 18:01:30 NA
我希望我的数据是这样的:
id date details
1 28-07-2017 20:01:30 NA
1 28-07-2017 22:02:20 SQL
2 28-07-2017 18:01:30 NA
2 28-07-2017 19:01:30 SQL
3 30-07-2017 18:01:30 NA
3 31-07-2017 18:01:30 SQL
4 28-07-2017 18:01:30 NA
我想组数据x id
的基础上,然后按升序对date
进行排序,然后如果details
列中存在“SQL”值,则删除同一id
的以下行。一旦SQL阶段到达details
变量,每个id
应该没有记录。
我该如何在R中做到这一点?
使用dput
将您的数据转换为我们可以使用的数据。以下是了解它的链接:https://gist.github.com/dsparks/3688652
这确实没有回答这个问题。一旦你有足够的[声誉](https://stackoverflow.com/help/whats-reputation),你将可以[对任何帖子发表评论](https://stackoverflow.com/help/privileges/comment);相反,[提供不需要提问者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- I-DO-代替)。 - [来自评论](/ review/low-quality-posts/16888328) – kdopen
当我评论时,数据处于不可用状态。提问者更新了这个问题(使数据更容易理解),使我的初步评论无关紧要。 –
使用dplyr
包与magrittr
一起。这是一个快速刺伤它。
library("dplyr")
library("magrittr")
newdata <- olddata %>% group_by(id) %>% arrange (date) %>% filter(details !="SQL")
您可以加入一个[数据的可重复的例子?(https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) – AaronT86