두 개 이상의 특정 그룹이있는 경우 특정 그룹의 모든 행을 제거하려는 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] 삭제
몇 마디 만하겠습니다