我有一个来自
的数据框ID <- c("A","A","A","B","B","B","C","C","C")
Type <- c(45,46,47,45,46,47,45,46,47)
Point_A <- c(10,15,20,8,9,10,35,33,39)
df <- data.frame(ID,Type,Point_A)
ID Type Point_A
1 A 45 10
2 A 46 15
3 A 47 20
4 B 45 8
5 B 46 9
6 B 47 10
7 C 45 35
8 C 46 33
9 C 47 39
我想按ID计算Point_A列分组的中位数,然后根据阈值删除行。
例如,假设我的阈值为11 。我想删除按ID分组的行,其中值小于阈值,因此所需的输出将是
ID Type Point_A
1 A 45 10
2 A 46 15
3 A 47 20
4 C 45 35
5 C 46 33
6 C 47 39
虽然我能够计算中位数,但我不知道如何删除行。
func <- function(x) (median(x,na.rm=TRUE))
df1 <- df %>%
group_by(ID) %>%
mutate_each(funs(.=func(.)),Point_A)
summarise(Point_A = f(Point_A))
请告诉我如何做到这一点。