为什么只有一个变量的级别在正确组合两个数据帧后发生变化?应该如何处理?

问题描述

我有两个数据框。我的第一个数据帧包含16个不同的品系(基因型),由于实验中每条品系的植物数量不同,str()命令显示了145个观测值和t 16个等级的Line变量;如您所见

data.frame':    145 obs. of  15 variables:
 
$ Plate.NO.   : int  1 1 1 1 1 1 1 1 1 1 ...
 
$ Line        : Factor w/ 16 levels "L000049","L000154",..: 15 15 15 15 15 7 7 7 7 7 ...
 
$ Strain      : Factor w/ 2 levels "AF1","V31-2": 1 1 1 1 1 1 1 1 1 1 …

$ Plant.number: int  1 2 3 4 5 1 2 3 4 5 ...
$ X0DPI       : num  0 0 0 0 0 0 0 0 0 0 ...
 
$ X7DPI       : num  0 0 0 0 0 0 0 0 0 0 ...
 
$ X10DPI      : num  0 0 0 0 1 0 0 0 2 0 ...
$ X12DPI      : num  0.5 0 0 0 2 3 2.5 2.5 2 3 ...
 
$ X14DPI      : num  2.5 1 0 0 2 3 2.5 2.5 2.5 3 ...
 
$ X17DPI      : num  4 1 1 0 3 4 2.5 4 3 3 ...
 
$ X19DPI      : num  4 1 1 1 4 4 2.5 4 3 4 ...
 
$ X21DPI      : num  4 1.5 2 1 4 4 3.5 4 4 4 ...
 
$ X24DPI      : num  4 3 2 1 4 4 4 4 4 4 ...
 
$ X26DPI      : num  4 3 2 1 4 4 4 4 4 4 ...
 
$ X28DPI      : num  4 3.5 2.5 1.5 4 4 4 4 4 4 ...

此外,我还有第二个数据帧,其中包含252行的更多补充信息。在这里,您可以看到第二个数据帧的str()结果

data.frame':    252 obs. of  7 variables:
 
$ ID                  : Factor w/ 252 levels "HM001 ","HM002 ",..: 1 2 3 4 5 6 7 8 9 10 ...
 
$ Line                : Factor w/ 252 levels "A10","A20","CADL",..: 31 38 175 207 206 169 197  ...
 
$ Population.of.Origin: Factor w/ 252 levels "A10 ","A17_Varma ",..: 157 167 55 53 51 110 ...
 
$ Country.of.Origin   : Factor w/ 19 levels "Algeria ","Cyprus ",..: 16 2 14 1 1 3 3 1 5 8 ...
 
$ Category            : Factor w/ 16 levels "alfalfa ","CC144 ",..: 7 7 7 7 7 7 7 7 3 3 ...
 
$ Seeds.From          : Factor w/ 6 levels "Charlie_Brummer,UGA ",..: 4 4 4 4 4 4 4 4 4 4 ...
 
$ Status              : Factor w/ 2 levels "Failed.QA","Processed": 2 2 2 2 2 2 2 2 2 2 …

在这252行中,我仅用16行做实验的一部分,我想将这两个数据框组合起来

一个数据帧对象是“ Rep1”(只有16行),第二个数据帧被称为“ hap”(有252行)

我使用了这一系列命令

inner<-inner_join(Rep1,hap,by = "Line")

left<- left_join(Rep1,"Line")

right←right_join(hap,Rep1,"Line")

这种组合没有任何问题,我只有16行的行,但是令人惊讶的是,当str()输出显示行的252级而不是16级,而观察次数正确时,
这是合并后我的数据帧的str()输出

'data.frame':   145 obs. of  21 variables:
 
$ ID                  : Factor w/ 252 levels "HM001 ",..: 1 1 1 1 1 1 2 2 2 2 ...
 
$ Line                : Factor w/ 252 levels "A10",..: 31 31 31 31 31 31 38 38 38 38 ...
 
$ Population.of.Origin: Factor w/ 252 levels "A10 ",..: 157 157 157 157 157 157 167 167 167 167 ...
 
$ Country.of.Origin   : Factor w/ 19 levels "Algeria ",..: 16 16 16 16 16 16 2 2 2 2 ...
 
$ Category            : Factor w/ 16 levels "alfalfa ",..: 7 7 7 7 7 7 7 7 7 7 ...
 
$ Seeds.From          : Factor w/ 6 levels "Charlie_Brummer,"Processed": 2 2 2 2 2 2 2 2 2 2 ...
 
$ Plate.NO.           : int  2 2 2 5 5 5 1 1 1 1 ...
 
$ Strain              : Factor w/ 2 levels "AF1","V31-2": 1 1 1 2 2 2 1 1 1 1 ...
 
$ Plant.number        : int  1 2 3 1 2 3 1 2 3 4 ...
 
$ X0DPI               : num  0 0 0 0 0 0 0 0 0 0 ...
 
$ X7DPI               : num  0 0 0 0 0 0 0 0 0 0 ...
 
$ X10DPI              : num  0 0.5 3 3 2 1 1 0.5 0 0 ...
 
$ X12DPI              : num  0 1.5 3 3 3 3 1 3 0 0 ...
 
$ X14DPI              : num  0.5 3 4 3 3.5 4 2.5 3 1 0 ...
 
$ X17DPI              : num  1 4 4 3 4 4 3 4 1.5 0 ...
 
$ X19DPI              : num  1.5 4 4 4 4 4 4 4 1.5 0 ...
 
$ X21DPI              : num  2 4 4 4 4 4 4 4 1.5 0 ...
 
$ X24DPI              : num  2 4 4 4 4 4 4 4 1.5 1 ...
 
$ X26DPI              : num  3 4 4 4 4 4 4 4 1.5 1 ...
 
$ X28DPI              : num  3.5 4 4 4 4 4 4 4 2 1 ...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)