我试图使用tidyr和dplyr包对从wide转换为long的表进行排序。
data_long <- gather(data_wide, family, abundance, Phietavirus:Phi29virus, factor_key = TRUE )这就是结果表的一部分看起来像数据表的样子。
每个类型的病毒都会重复ID。总共有10种病毒。我正试着按ID号对表进行排序。我尝试过以下代码,但它给了我一个错误。
data_long<- data_longorder(data_long$
ID)错误:不能子集不存在的列。X位置5,16,27,38,49等不存在。ℹ只有3列。
我想问题可能是重复的身份证,但我不确定。为了继续绘制图表,我需要先对长表进行排序。如果有人能帮忙解决这个问题,我们会很感激的!
发布于 2021-04-20 16:29:59
我不知道您的代码出了什么问题(除非实际上没有一个名为ID的列),但是您可以尝试使用arrange()
library(dplyr)
data_long <- data_long %>% arrange(ID)此外,我认为您可能在]之前缺少一个逗号,这将使结果没有列(和错误)。
https://stackoverflow.com/questions/67182739
复制相似问题