R 表合并-结果大于输入数据表
我有两个数据表<代码>df1,参考df 内部结构如下:R 表合并-结果大于输入数据表,r,merge,left-join,data.table,R,Merge,Left Join,Data.table,我有两个数据表df1,参考df 内部结构如下: Classes ‘data.table’ and 'data.frame': 10153986 obs. of 18 variables: $ chr_no : chr "1" "1" "1" "1" ... $ pos : int 238 324 340 353 355 357 380 420 435 571 ... $ ref : chr "C" "A" "G" "T" ..
Classes ‘data.table’ and 'data.frame': 10153986 obs. of 18 variables:
$ chr_no : chr "1" "1" "1" "1" ...
$ pos : int 238 324 340 353 355 357 380 420 435 571 ...
$ ref : chr "C" "A" "G" "T" ...
$ id : logi NA NA NA NA NA NA ...
$ alt : chr NA NA NA NA ...
$ af : num NA NA NA NA 0.807 NA NA 0.877 NA 0.868 ...
$ cases_hom : int NA NA NA NA 50 NA NA 58 NA 59 ...
$ cases_het : int NA NA NA NA 15 NA NA 7 NA 6 ...
$ cases_count : int NA NA NA NA 115 NA NA 123 NA 124 ...
$ controls_hom : int NA NA NA NA 48 NA NA 55 NA 56 ...
$ controls_het : int NA NA NA NA 13 NA NA 6 NA 5 ...
$ controls_count: int NA NA NA NA 109 NA NA 116 NA 117 ...
$ cc_trend : num NA NA NA NA 0.812 ...
$ cc_geno : num NA NA NA NA NA NA NA NA NA NA ...
$ cc_all : num NA NA NA NA 0.492 ...
$ cc_dom : num NA NA NA NA 0.491 ...
$ cc_rec : num NA NA NA NA 1 NA NA 1 NA 1 ...
$ cmh_p_val : num 0.9267 0.0672 0.0279 0.3939 0.2522 ...
- attr(*, ".internal.selfref")=<externalptr>
Classes ‘data.table’ and 'data.frame': 9915916 obs. of 5 variables:
$ chr_no : chr "10" "10" "10" "10" ...
$ pos : int 86 126 148 208 232 396 413 413 454 1173 ...
$ snp_name: chr "rs459413697" "rs446265986" "rs460495236" "rs437891922" ...
$ ref : chr "G" "G" "T" "G" ...
$ alt : chr "C,T" "A,T" "C,G" "T" ...
- attr(*, ".internal.selfref")=<externalptr
生成的数据表是
> dim(result_data)
[1] 10154765 20
> sum(duplicated(df1))
[1] 0
> sum(duplicated(ref_df))
[1] 0
所以我不确定发生了什么。我已经调查过了
我使用的是最新数据。表1.9.5。请尝试
>>sum(duplicated(df1[, c("chr_no", "pos", "ref")]))
这将根据连接键提供副本的总数
>>table(duplicated(df1[, c("chr_no", "pos", "ref")]))
这将根据连接键提供重复记录和非重复记录的总数
>>table(duplicated(df1[, c("chr_no", "pos", "ref")]))
同样,对于另一个数据帧
>>table(duplicated(ref_df[, c("chr_no", "pos", "ref")]))
那么您希望得到什么结果呢?检查连接列的重复,而不是所有列;并使用常规的
数据。表[
运算符用于任何不是最大速度的完全外部联接的联接。感谢@Ala。根据您的建议,我能够识别我使用的数据中的某些错误,并且它确实有重复的行。问题已解决。:)