所以我在R中有一个数据集,其中以下布局为例:
ID Date Tally
1 2/1/2011 1
2 2/1/2011 2
3 2/1/2011 3
1 2/1/2011 4
2 2/1/2011 5
1 2/1/2011 6
3 2/1/2011 7
4 2/1/2011 8
2 2/1/2011 9
我想删除除了帖子ID的LAST实例之外的所有实例。现在我可以在网上找到的所有东西,我正在使用的功能是移除除FIRST实例之外的所有内容。
所以我的新数据框看起来像是:
ID Date Tally
1 2/1/2011 6
3 2/1/2011 7
4 2/1/2011 8
2 2/1/2011 9
我该怎么做?现在我只能保留第一个实例。我希望它做相反的事情吗?有什么帮助吗?
忍受我,我是R的新手:)
答案 0 :(得分:13)
这不仅仅是将'fromLast'参数用于duplicated
的标准情况吗?
dat[ !duplicated(dat[, c("ID", "Date")], fromLast=T),]
#---------
ID Date Tally
6 1 2/1/2011 6
7 3 2/1/2011 7
8 4 2/1/2011 8
9 2 2/1/2011 9
您的示例不够丰富,无法判断您是否需要在重复测试中使用“日期”列,因此您可以简化。我将其留下来说明duplicated
有一个data.frame方法。我更喜欢!duplicated
到unique
,因为如果您要比较群组,它可以轻松访问集合补充。
答案 1 :(得分:10)
使用!rev(duplicated(rev(ID)))
过滤掉除最后一次独特事件之外的所有事件。
要过滤数据集,请使用dataset[!rev(duplicated(rev(dataset$ID))),]
答案 2 :(得分:4)
使用data.table
加入,您可以设置mult = 'last'
例如
library(data.table)
DT <- data.table(DF, key = 'id')
# join with the unique ID values
DT[unique(DT[,list(ID)]), mult= 'last']
ID Date Tally
1: 1 2/1/2011 6
2: 2 2/1/2011 9
3: 3 2/1/2011 7
4: 4 2/1/2011 8
如果您知道唯一ID,则还可以使用以下任何一种
DT[.(1:4), mult='last']
DT[list(1:4), mult = 'last']
答案 3 :(得分:2)
使用dplyr:
import UIKit
class HomeController: ListController {
override func viewDidLoad() {
super.viewDidLoad()
self.title = "Home"
self.tabBarController??? // Right now this is a UITabBarController, but I would like to it be a CustomTabBarController
}
}