R의 data.frame에서 한 열에 두 개의 지정된 값이있는 경우 한 그룹의 모든 행을 유지하는 방법

새긴 ​​금

두 개 이상의 특정 그룹이있는 경우 특정 그룹의 모든 행을 제거하려는 R에 데이터 프레임이 있습니다. 아래 예에서는 bil berry와 blackberry가 모두있는 경우 'bil berry'와 관련된 모든 행을 제거하고 싶습니다. 데이터에 두 가지 이상의 베리 종류가 있는지 확인할 수있는 지점에 도달했지만 다음 단계에 대해 확신 할 수 없습니다. dplyr 솔루션을 선호합니다.

library(stringr)
library(dplyr)

data(fruit)

my.df <- data.frame(
"Name" = rep(fruit[1:7], each = 2), 
"Value" = 1:14
)

UniqueFruits <- unique(my.df$Name)
sum(grepl("berry", UniqueFruits))>1
로낙 샤

어쩌면 당신은 시도하고 있습니다 :

library(dplyr)

unique_berries <- grep('berry', my.df$Name, value = TRUE)
if(n_distinct(unique_berries) > 1) my.df <- my.df %>% filter(Name != 'bilberry')

my.df

#          Name Value
#1        apple     1
#2        apple     2
#3      apricot     3
#4      apricot     4
#5      avocado     5
#6      avocado     6
#7       banana     7
#8       banana     8
#9  bell pepper     9
#10 bell pepper    10
#11  blackberry    13
#12  blackberry    14

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관