我有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
预期结果:
click
THX!
答案 0 :(得分:2)
通过这个特殊的例子,我认为你可以使用合并功能。作为标准,其参数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
答案 1 :(得分:1)
您可以使用tidyr::crossing
tidyr::crossing(df, df1)
# A tibble: 4 x 2
# a one
# <chr> <int>
#1 a 1
#2 a 2
#3 b 1
#4 b 2
或expand_grid
tidyr::expand_grid(df, df1)
答案 2 :(得分:0)
对于您的具体示例,可以使用expand.grid:
expand.grid(df[[1]],df1[[1]])
Var1 Var2
1 a 1
2 b 1
3 a 2
4 b 2