2
내 데이터는 다음과 같습니다팝 아웃 관찰/행
library(tidyverse)
set.seed(1)
df <- tibble(
id = c("cat", "cat", "mouse", "dog", "fish", "fish", "fish"),
value = rnorm(7, 100, sd = 50)
)
을 나는 새로운 데이터 프레임에 이동 물고기로, fish
의 최고 값을 "튀어"동시에 제거하는 방법 그것은 현재 데이터 프레임에서?
이 (그러나 그것은 모든 우아한을하지 않는 것) 작품 :
df_store <- df %>%
filter(id == "fish") %>%
top_n(1)
df <- anti_join(df, df_store)
더 좋은 방법이 있나요?
참고로, 기본 R, 당신이 사용하는'split'을 할 수 split (df, id == "fish"& value == max (value [id == "fish"]))))를 사용하여'data.frame'의'list ' –