当具有不同级别的按因子R时合并
我想再检查一下。我正在尝试将一个大数据集合并为一个小数据集。我的大数据帧包含的观测值不包括在小数据集中。我无法使用标准代码与数据帧进行简单合并当具有不同级别的按因子R时合并,r,merge,R,Merge,我想再检查一下。我正在尝试将一个大数据集合并为一个小数据集。我的大数据帧包含的观测值不包括在小数据集中。我无法使用标准代码与数据帧进行简单合并 x<-merge(df1,df2) ###default is all=FALSE. ###output from this code produces a df with 49 rows instead of 13 大数据帧 noms fruits apple orange kiwi all_comb c
x<-merge(df1,df2) ###default is all=FALSE.
###output from this code produces a df with 49 rows instead of 13
大数据帧
noms fruits apple orange kiwi all_comb comb numbers
1 mary apple 1 0 0 1 1 1
2 mary grape 0 0 0 0 1 2
3 mary orange 0 1 0 0 1 3
4 mary apple 1 0 0 1 1 4
5 john banana 0 0 0 0 1 1
6 john apple 1 0 0 1 1 2
7 john apple 1 0 0 1 1 3
8 john apple 1 0 0 1 1 4
9 lucy kiwi 0 0 1 0 1 1
10 lucy orange 0 1 0 0 1 2
11 lucy apple 1 0 0 1 1 3
12 lucy berry 0 0 0 0 1 4
13 tom orange 0 1 0 0 1 1
noms age
1 jane 50
2 jane 50
3 jane 50
4 jane 50
5 mary 65
6 mary 65
7 mary 65
8 mary 65
9 john 34
10 john 34
11 john 34
12 john 34
13 pat 65
14 pat 65
15 pat 65
16 lucy 89
17 lucy 89
18 lucy 89
19 lucy 89
20 tom 12
所需输出
df
这就是你想做的吗
df_agg <- aggregate(age ~ noms, df_large, max)
merge(df_agg, df_small, by = "noms")
df_agg这就是你想要做的吗
df_agg <- aggregate(age ~ noms, df_large, max)
merge(df_agg, df_small, by = "noms")
df_agg如果您使用的是df2的唯一行,那么它会起作用:
merge(df1, unique(df2))
noms fruits apple orange kiwi all_comb comb numbers age
1 john banana 0 0 0 0 1 1 34
2 john apple 1 0 0 1 1 2 34
3 john apple 1 0 0 1 1 3 34
4 john apple 1 0 0 1 1 4 34
5 lucy kiwi 0 0 1 0 1 1 89
6 lucy orange 0 1 0 0 1 2 89
7 lucy apple 1 0 0 1 1 3 89
8 lucy berry 0 0 0 0 1 4 89
9 mary apple 1 0 0 1 1 1 65
10 mary grape 0 0 0 0 1 2 65
11 mary orange 0 1 0 0 1 3 65
12 mary apple 1 0 0 1 1 4 65
13 tom orange 0 1 0 0 1 1 12
如果您使用的是df2的唯一行
:
merge(df1, unique(df2))
noms fruits apple orange kiwi all_comb comb numbers age
1 john banana 0 0 0 0 1 1 34
2 john apple 1 0 0 1 1 2 34
3 john apple 1 0 0 1 1 3 34
4 john apple 1 0 0 1 1 4 34
5 lucy kiwi 0 0 1 0 1 1 89
6 lucy orange 0 1 0 0 1 2 89
7 lucy apple 1 0 0 1 1 3 89
8 lucy berry 0 0 0 0 1 4 89
9 mary apple 1 0 0 1 1 1 65
10 mary grape 0 0 0 0 1 2 65
11 mary orange 0 1 0 0 1 3 65
12 mary apple 1 0 0 1 1 4 65
13 tom orange 0 1 0 0 1 1 12
merge(df1, unique(df2))
noms fruits apple orange kiwi all_comb comb numbers age
1 john banana 0 0 0 0 1 1 34
2 john apple 1 0 0 1 1 2 34
3 john apple 1 0 0 1 1 3 34
4 john apple 1 0 0 1 1 4 34
5 lucy kiwi 0 0 1 0 1 1 89
6 lucy orange 0 1 0 0 1 2 89
7 lucy apple 1 0 0 1 1 3 89
8 lucy berry 0 0 0 0 1 4 89
9 mary apple 1 0 0 1 1 1 65
10 mary grape 0 0 0 0 1 2 65
11 mary orange 0 1 0 0 1 3 65
12 mary apple 1 0 0 1 1 4 65
13 tom orange 0 1 0 0 1 1 12