удалить дубликаты с различными () dplyr R - PullRequest
0 голосов
/ 22 февраля 2019

с использованием библиотеки dplyr
1. Мне нужно создать новый объект с 2 столбцами из таблицы mtcars в df1
2. в df2, нужно от 10 до 20 из df1
3. необходимо удалить дубликаты из df2с обоими столбцами

df= mtcars %>% select(mpg,hp)
df2= slice(df,10:20)
distinct(df2, mpg,hp, .keep_all=TRUE)

здесь однозначный () не печатает df2 без дубликатов, он одинаков со всеми значениями.Может быть, это связано с типом списка.другое наблюдение: имена машин используются в качестве имени строки в df, а в именах строк df2 - просто числовые значения.

как удалить дубликаты с обоими столбцами с помощью dplyr?

1 Ответ

0 голосов
/ 22 февраля 2019

Насколько я понимаю, нам нужно отделить отдельные призывы.Если мы используем distinct(df2, mpg,hp, .keep_all=TRUE), мы запрашиваем столбцы, которые не имеют дубликатов в обоих столбцах в пределах одной строки, этого не происходит в данном наборе данных, поэтому все возвращается.

Если мы сначала вернем все строкибез дубликатов в hp, а затем взять эти данные и вернуть только строки без дубликатов в mpg, вы получите ожидаемый результат.

library(dplyr)

df= mtcars %>% select(mpg,hp)
df2= slice(df,10:20)
df3<-distinct(df2, hp, .keep_all=TRUE)
df4<-distinct(df3, mpg, .keep_all=TRUE)

> df4
   mpg  hp
1 19.2 123
2 16.4 180
3 10.4 205
4 14.7 230
5 32.4  66
6 30.4  52
7 33.9  65
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...