首页 > 解决方案 > 有没有办法阻止 read.csv 对我的行进行排序?

问题描述

我正在尝试绘制他们选择的数据,但似乎 read.csv 将它们排序出来或者可能是 dplyr,但我想以我放置它们的方式绘制选定的名称。有没有办法做到这一点?

这些是我的数据和代码:


dfc <- read.csv(url("https://github.com/learnseq/learning/raw/main/GSE133399_Fig2_FPKM.csv"))

dfg <- dfc %>% dplyr::filter(tracking_id %in% c('S100a10', 'Esm1', 'Itgb1', 'Anxa2', 'Hist1h1b', 
                                                'Il2rb', 'Lgals1', 'Mki67', 'Rora', 'S100a4', 
                                                'S100a6', 'Adam8', 'Areg', 'Bcl2l1', 'Calca', 
                                                'Capg', 'Ccr2', 'Cd44', 'Csda', 'Ehd1', 
                                                'Id2', 'Il10', 'Il1rl1', 'Il2ra', 'Lmna', 
                                                'Maf', 'Penk', 'Podnl1', 'Tiam1', 'Vim',
                                                'Ern1', 'Furin', 'Ifng', 'Igfbp7', 'Il13', 
                                                'Il4', 'Il5', 'Nrp1', 'Ptprs', 'Rbpj', 
                                                'Spry1', 'Tnfsf11', 'Vdr', 'Xcl1', 'Bmpr2', 
                                                'Csf1', 'Dst', 'Foxp3', 'Itgav', 'Itgb8', 
                                                'Lamc1', 'Myo1e', 'Pmaip1', 'Prdm1', 'Ptpn5', 
                                                'Ramp1', 'Sdc4')) 
head(dfg)

我希望在此链接中找到解决方案,但没有运气。

标签: r

解决方案


%in%将根据数据在数据框中的存在方式而不是根据您过滤的向量对数据进行子集化。如果您想要相同的订单,您可以使用match

library(dplyr)
dfc %>% slice(match(values, tracking_id))

在基数 R 中可以写成:

dfc[match(values, dfc$tracking_id), ]

哪里values是:

values <- c('S100a10', 'Esm1', 'Itgb1', 'Anxa2', 'Hist1h1b', 
            'Il2rb', 'Lgals1', 'Mki67', 'Rora', 'S100a4', 
            'S100a6', 'Adam8', 'Areg', 'Bcl2l1', 'Calca', 
            'Capg', 'Ccr2', 'Cd44', 'Csda', 'Ehd1', 
            'Id2', 'Il10', 'Il1rl1', 'Il2ra', 'Lmna', 
            'Maf', 'Penk', 'Podnl1', 'Tiam1', 'Vim',
            'Ern1', 'Furin', 'Ifng', 'Igfbp7', 'Il13', 
            'Il4', 'Il5', 'Nrp1', 'Ptprs', 'Rbpj', 
            'Spry1', 'Tnfsf11', 'Vdr', 'Xcl1', 'Bmpr2', 
            'Csf1', 'Dst', 'Foxp3', 'Itgav', 'Itgb8', 
            'Lamc1', 'Myo1e', 'Pmaip1', 'Prdm1', 'Ptpn5', 
            'Ramp1', 'Sdc4')

推荐阅读