我的数据框包含低于特定准确度阈值(即50%不正确)的主题列表:1。 我有另一个数据框,包含所有主题(准确和不准确)及其所有数据。重要的是,此中央数据框中的每个主题有多行:2。
我需要从2中的中央数据框中删除不准确的主题。如何在R中执行此操作?我已经尝试了子集:
filterdata<-subset(groupedmergedoutliers, subject==filtercorrectpercent$subject)
'collectivemergedoutliers'是中心主题数据框; 'filtercorrectpercent'是不准确的主题数据框;
答案 0 :(得分:0)
您正在使用==
,它测试成对相等性(例如,df1$subject
的第一行等于df2$subject
的第一行,第二行是否相等,等等。 )。考虑
c(1, 1, 2, 3) == c(1, 2, 3, 4)
# [1] TRUE FALSE FALSE FALSE
相反,您希望测试df1$subject
的每一行是否在df2$subject
的任何行中。我们可以使用%in%
:
c(1, 1, 2, 3) %in% c(1, 2, 3, 4)
# [1] TRUE TRUE TRUE TRUE
filterdata <- subset(
groupedmergedoutliers,
subject %in% filtercorrectpercent$subject
)