R 通过排除基于观察次数的病例对数据进行分组
以下是我掌握的数据:R 通过排除基于观察次数的病例对数据进行分组,r,data.table,subset,R,Data.table,Subset,以下是我掌握的数据: library(data.table) ID <- c("A","A","B","C","C","C","C") Session <-c(1,2,1,1,2,3,4) Value <- c(10,6,15,20,25,35,35) Have <- data.table(ID,Session,Value) Have ID Session Value A 1 10 A 2 6 B
library(data.table)
ID <- c("A","A","B","C","C","C","C")
Session <-c(1,2,1,1,2,3,4)
Value <- c(10,6,15,20,25,35,35)
Have <- data.table(ID,Session,Value)
Have
ID Session Value
A 1 10
A 2 6
B 1 15
C 1 20
C 2 25
C 3 35
C 4 35
库(data.table)
ID我们可以在按“ID”分组后使用if
条件
注意:这不考虑“会话”中的值。它基于行数
假设OP提到唯一“会话”的数量应该大于1,我们使用uniqueN
(基本上是unique
元素的length
)
为了安全起见,如果OP只希望“会话”中的“ID”具有大于1的任何
值
Have[, if(any(Session > 1)) .SD, ID]
或者如果我们更喜欢
dplyr
library(dplyr)
Have %>%
group_by(ID) %>%
filter(n() >1)
我认为对我来说最好的解决方案是dplyr。谢谢!
Have[, if(any(Session > 1)) .SD, ID]
library(dplyr)
Have %>%
group_by(ID) %>%
filter(n() >1)