首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法阻止read.csv对我的行进行排序?

有没有办法阻止read.csv对我的行进行排序?
EN

Stack Overflow用户
提问于 2020-11-14 07:34:55
回答 2查看 41关注 0票数 0

我试图绘制我选择的数据,但似乎是read.csv对它们进行排序,或者可能是dplyr,但是我想要绘制它们所选的名称。有办法吗?

这些是我的数据和代码:

代码语言:javascript
复制
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)

我希望在这个link中找到一个解决方案,但没有运气。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-11-14 07:52:34

%in%将根据其在数据中的显示方式而不是基于您筛选的向量对数据进行子集。如果您想要相同的订单,可以使用match

代码语言:javascript
复制
library(dplyr)
dfc %>% slice(match(values, tracking_id))

在R基中,它可以写成:

代码语言:javascript
复制
dfc[match(values, dfc$tracking_id), ]

其中values是:

代码语言:javascript
复制
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')
票数 2
EN

Stack Overflow用户

发布于 2020-11-14 07:49:56

一种方法是将变量转换为具有所需级别的因子。之后,您可以相应地安排您的数据:

代码语言:javascript
复制
library(dplyr)

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

ids <- 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')

dfg <- dfc %>% 
  filter(tracking_id %in% ids) %>% 
  mutate(tracking_id = factor(tracking_id, levels = ids)) %>% 
  arrange(tracking_id)
head(dfg)
#>   tracking_id CD44low_rep1 CD44hi_CD69low_rep1 CD44hi_CD69hi_CD103low_rep1
#> 1     S100a10    24.185300            215.9770                   191.19900
#> 2        Esm1     0.292527             11.6737                     1.31048
#> 3       Itgb1     2.783530             75.2682                    76.31740
#> 4       Anxa2     0.771864             20.1817                    23.60150
#> 5    Hist1h1b     1.784150             47.6620                    24.46870
#> 6       Il2rb     1.309430             25.4487                    57.04810
#>   CD44hi_CD69hi_CD103hi_rep1 CD44low_rep2 CD44hi_CD69low_rep2
#> 1                 221.072000   25.8888000            216.7610
#> 2                   0.989497    0.0556449             11.3918
#> 3                  11.118500    2.8061500             61.1956
#> 4                  13.964600    0.4517920             20.5154
#> 5                  64.651200    0.6789370             51.1621
#> 6                  60.663400    1.1446900             23.3560
#>   CD44hi_CD69hi_CD103low_rep2 CD44hi_CD69hi_CD103hi_rep2
#> 1                   201.88600                  213.88400
#> 2                     2.08267                    1.25273
#> 3                    57.41610                    9.42745
#> 4                    21.44850                   11.18830
#> 5                    40.79160                   43.77030
#> 6                    65.39240                   50.75980
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64831814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档