不相等的因子水平:强制转换为字符绑定特征和因子向量

时间:2019-02-28 19:26:54

标签: r dataframe dplyr data.table

我正在尝试将一个表列表合并到一个数据框中,删除一列,然后按样本将其转换为一个“宽”计数表。 我已加载

library(tidyr)
library(dplyr)

另外,count.tables是长度为22的列表

运行时

count.df.long <- bind_rows(count.tables, .id="Sample")

它给了我警告:

  

不等因子水平:强迫字符绑定字符和   因子向量,强制转换为字符向量   因子向量,强制转换为字符向量   因子向量,强制转换为字符向量   因子向量,强制转换为字符向量   因子向量,强制转换为字符向量   因子向量,强制转换为字符向量   因子向量,强制转换为字符向量   因子向量,强制转换为字符向量   因子向量,强制转换为字符向量   因子向量,强制转换为字符向量   因子向量,强制转换为字符向量   因子向量,强制转换为字符向量   因子向量,强制转换为字符向量   因子向量,强制转换为字符向量   因子向量,强制转换为字符向量   因子向量,强制转换为字符向量   因子向量,强制转换为字符向量   因子向量,强制转换为字符向量   因子向量,强制转换为字符向量   因子向量,强制转换为字符向量   因子向量,强制转换为字符向量   因子向量,强制为字符向量

然后进行下一步

count.df.wide <- count.df.long %>% select(-"percent") %>%
spread(Sample, count)

我得到:

  

错误:行的重复标识符(2572、7337、12726、17661,   21013、27067、32036、38334、43223、49353、55049、58820、63874、68410,   73324,76677,81930),(24259,46481),(1638,6608,11922,16110,   20102,26133,30977,37723,42343,48437,54291,58335,62672,67791,   71971,75944,81169),(719,5894,11230,15400,19522,25214,30352,   36596、41348、46807、47557、53380、57427、62124、66883、71266、75198,   80171),(1792、7089、12285、16581、20543、26287、31527、37878、42488,   48596、54313、58508、63003、68108、72622、76042、81280),(4907,   29402),(18736、39958、60499),(2957、7433、14843、17092、21436,   27452,32434,39173,43452,49540,56178,59821,64385,69488,82672),   (1401、6379、11808、15987、20141、25896、31207、37357、42117、48419,   54132,58199,63159,67944,71942,76002,81011),(2600,7622,12579,   16842、21292、27095、32362、38749、43279、49226、55018、59297、63735,   68704,73255,77283,82003),(1486,6576,11731,15896,20012,25981,   31001,37319,41990,48375,53953,58211,

我想知道第一个错误是什么,如何解决,以及第二个错误是否与第一个错误有关?

谢谢!

Elena

1 个答案:

答案 0 :(得分:0)

原始文件使用相同的文件名sampleX命名(由于先前的错误),因此count.df.long正在创建一个表,其中“ control”和“ sampleX”是仅有的两个Sample ID,因此, “ sampleX”中存在无限数量的重复变量,这些变量本应为Sample1、2、3 ...名称已使用相应的文件名重命名,并且错误已得到修复。

第一个警告不断出现(仍然不明白为什么),但是最终的输出是期望的和期望的,所以我很高兴。

感谢您的答复。