объединить два фрейма данных со всеми возможными комбинациями - PullRequest
0 голосов
/ 25 мая 2018

У меня есть 2 фрейма данных.
Как я могу сделать с ними что-то вроде tidyr::complete, используя tidyverse?

Мои данные:

df <-data.frame(a=letters[1:2] )
df1<-data.frame(one=1:2)

Ожидаемый результат:

a 1 
b 1
a 2
b 2

Спасибо!

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

для вашего конкретного примера, можно использовать expand.grid:

expand.grid(df[[1]],df1[[1]])
  Var1 Var2
1    a    1
2    b    1
3    a    2
4    b    2
0 голосов
/ 25 мая 2018

В этом конкретном примере я думаю, что вы можете просто использовать функцию слияния.Как правило, его аргументы all.x и all.y установлены в TRUE, поэтому он автоматически создает все комбинации, поскольку у фреймов данных нет общих переменных или значений.

df <-data.frame(a=letters[1:10] )
df1<-data.frame(one=1:10)

dfcomb <- merge(df,df1)
dim(dfcomb) 
[1] 100   2 #gives 100 rows and 2 columns
...