我试图绘制我选择的数据,但似乎是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)我希望在这个link中找到一个解决方案,但没有运气。
发布于 2020-11-14 07:52:34
%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')发布于 2020-11-14 07:49:56
一种方法是将变量转换为具有所需级别的因子。之后,您可以相应地安排您的数据:
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.75980https://stackoverflow.com/questions/64831814
复制相似问题