【发布时间】:2021-10-29 00:52:58
【问题描述】:
我有一个关于本体的信息数据框,如下例所示:
onto<- data.frame(entity = c('disease', 'neurologic disease', 'heart disease', 'lung disease', 'kidney disease', 'gastrointestinal disease', 'seizure', 'iatrogenic seizure', 'cardiomyopathy', 'hypertrophic cardiomyopathy', 'restrictive cardiomyopathy', 'kidney stone', 'glomerulonephritis', 'proliferative gn', 'nonproliferative gn', 'rpgn', 'vasculitic rpgn', 'good pasture', 'wegeners', 'diarrhea', 'asthma', 'pneumonia'), superclass = c('owl:thing', 'disease', 'disease', 'disease', 'disease', 'disease', 'neurologic disease', 'seizure', 'heart disease', 'cardiomyopathy', 'cardiomyopathy', 'kidney disease', 'kidney disease', 'glomerulonephritis', 'glomerulonephritis', 'proliferative gn', 'rpgn', 'rpgn', 'vasculitic rpgn', 'gastrointestinal disease', 'lung disease', 'lung disease'))
我需要根据以下条件对这些实体(数据框行)进行排序:
A.对于第一级,我不想要字母顺序。相反,我想自己确定订单。例如,我希望按以下顺序显示疾病列表:1-“神经系统疾病”,2-“心脏病”,3-“肾病”,4-“肺病”,5-“胃肠道疾病”
B.对于其他级别,我只希望根据继承对实体进行排序: 例如:'proliferative gn'>>'rpgn'>>'vasculitic rpgn'>>'good pasture'>>'wegeners'(当然并不总是这么简单) p>
注意:B 项对我来说更重要。
感谢您对此提供的任何帮助。
【问题讨论】:
-
你能解释一下,这里的级别是什么意思?就像你提到的第一级和其他级别一样。前 5 个将始终保持在顶部,其他的将按顺序排在它们之后?
-
我的意思是疾病是第一级...神经系统疾病和心脏疾病以及疾病的所有直接子类都是第二级..上述所有直接子类都是第三级等等.. .
-
了解因素。将您的列设置为您自己的顺序的因素,然后它将相应地排序。
-
@zx8754 这将是一项艰巨的任务......我希望它们按超类排序。在其下方的行中包含每个实体的子类。
-
@Shibaprasadb 你可以在这里看到我所说的水平 [researchgate.net/figure/… 如果这是我的本体,我希望行如下特征......感觉......积极感觉......温和。 ..微笑..温和...强烈..快乐...自豪...强烈...负面感觉
标签: r dataframe sorting ontology