2016-11-29 2 views
1

Допустим, у нас есть этот data.frame dfКак проверить, является ли строка подмножеством data.frame?

uid | aid | Freq 
----------------- 
2 | 4 | 3 
9 | 1 | 2 

Как мы проверяем, если эта строка r <- data.frame(uid=9, aid=1) в df

Для векторов >> мы используем %in%, но он не работает здесь.

+0

Вы можете проверить с 'слияния (ДФ, г)' –

+0

Одна мысль: 'любой (дублируется (rbind (уникальный (ДФ [имена (г)]), г)))' –

ответ

4

Вы можете проверить это с помощью merge. Просто имейте в виду, что названия столбцов:

df <- head(mtcars) 
r <- data.frame(mpg=18.1, cyl=6) 
mrg <- merge(df, r) 
# mpg cyl disp hp drat wt qsec vs am gear carb 
# 1 18.1 6 225 105 2.76 3.46 20.22 1 0 3 1 

Существует множество способов превратить это в логический тест.

nrow(mrg) > 0 
+1

так положить его в форма условия будет 'if_else ((merge (df, r)%>% nrow())> 0, T, F)' – mabdrabo

+2

@mabdrabo - или 'nrow (merge (df, r))> 0' –

+0

@ RichScriven, да, конечно. Просто потому, что я собирался добавить его. спасибо :) – mabdrabo

Смежные вопросы