2016-11-21 3 views
-5

특정 정확도 임계 값 (예 : 50 %가 맞음) 아래에있는 주제 목록을 포함하는 데이터 프레임이 있습니다 : 1. 모든 데이터와 함께 모든 주제가 정확하고 정확하지 않은 다른 데이터 프레임이 있습니다. 중요한 것은이 중앙 데이터 프레임에 주제 당 여러 행이 있습니다 : 2.정확도 임계 값 미만의 주제 필터링 R

2의 중앙 데이터 프레임에서 부정확 한 주체를 제거해야합니다. R에서 어떻게 수행합니까? 이미 부분 집합을 시도했습니다 :

filterdata<-subset(groupedmergedoutliers, subject==filtercorrectpercent$subject) 

'groupedmergedoutliers'는 중앙 대상 데이터 프레임입니다. 'filtercorrectpercent'는 부정확 한 주체 데이터 프레임입니다.

+1

어떤 시도를 했습니까? 어디서 붙어 있니? '['또는'subset() '를 사용하여 데이터 프레임을 부분 집합하는 방법을 알고 있습니까? – Gregor

+0

하위 집합을 시도했지만 그 값보다 많은 값을 필터링하는 것으로 보입니다. 문제는 중앙 데이터 프레임이 각 주제에 대해 여러 행을 포함하지만 부정확 한 주제 데이터 프레임에는 주제 당 단 하나의 행만 포함된다는 사실과 관련이 있다고 생각합니다. –

+0

음, 어때? 우리는 아마 약간의 수정을 할 수 있습니다 ... – Gregor

답변

0

균등 대수를 테스트하는 ==을 사용하고 있습니다 (예 : 의 첫 번째 행과 동일한 df1$subject의 첫 번째 행, 두 번째 행이 같음 등). df1$subject의 각 행 df2$subject의 행에있는 경우

c(1, 1, 2, 3) == c(1, 2, 3, 4) 
# [1] TRUE FALSE FALSE FALSE 

는 대신, 테스트 싶은 생각 해보자. 이 경우 %in%을 사용할 수 있습니다.

c(1, 1, 2, 3) %in% c(1, 2, 3, 4) 
# [1] TRUE TRUE TRUE TRUE 

filterdata <- subset(
    groupedmergedoutliers, 
    subject %in% filtercorrectpercent$subject 
)