2016-02-11 2 views
1

Пустьпут дублируются строки в различных data.frame (ы)

x=c(1,2,2,3,4,1) 
y=c("A","B","C","D","E","F") 
df=data.frame(x,y) 



df 
     x y 
    1 1 A 
    2 2 B 
    3 2 C 
    4 3 D 
    5 4 E 
    6 1 F 

Как можно поместить повторяющиеся строки в этом кадре данных в различных данных кадрах так:

df1 
    x y 
    1 A 
    1 F 

df2 
    x y 
    2 B 
    2 C 

Благодарим Вас за помочь

+1

'? Split' разбиваться (DF, F = DF $ x) ' –

+0

, и вам придется удалить фреймы данных с не дублированными строками позже. –

+0

@Veerendra Gadekar Помогите с этим вопросом: https://stackoverflow.com/questions/45149683/matrix-division-in-several -dataframes-so-that-each-dataframe-содержать-duplicate-r – Hibu

ответ

3

Вы можете использовать split

split(df, f = df$x) 

f = df$x используется для определения столбца группировки проверки ?split для получения более подробной информации

удалить дублированные строки не являющиеся вы могли бы использовать проверку

mylist = split(df, f = df$x)[df$x[duplicated(df$x)]] 
names(mylist) = c('df1', 'df2') 
list2env(mylist,envir=.GlobalEnv) # to separate the data frames 
+1

спасибо, это работает! – Math

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