【发布时间】:2018-04-04 02:08:16
【问题描述】:
我确信这是一个简单的解决方法,但我已经解决了一个小时。
DataFrame 看起来像这样:
> head(cpgval.filtered)
X CpG txpt tss
1 72923 cg15319295 XIST XIST
2 72924 cg03554089 XIST XIST
3 72925 cg12653510 XIST XIST
4 72926 cg05533223 XIST XIST
5 72927 cg11717280 XIST XIST
6 72928 cg20698282 XIST XIST
CellLine Meth
1 hESCs.cultured.on.mouse.feeder.layer.and.mechanically.passaged.P103.total.DNA.methylation.RepB 0.8141782
2 hESCs.cultured.on.mouse.feeder.layer.and.mechanically.passaged.P103.total.DNA.methylation.RepB 0.9349818
3 hESCs.cultured.on.mouse.feeder.layer.and.mechanically.passaged.P103.total.DNA.methylation.RepB 0.7045790
4 hESCs.cultured.on.mouse.feeder.layer.and.mechanically.passaged.P103.total.DNA.methylation.RepB 0.9728426
5 hESCs.cultured.on.mouse.feeder.layer.and.mechanically.passaged.P103.total.DNA.methylation.RepB 0.8467799
6 hESCs.cultured.on.mouse.feeder.layer.and.mechanically.passaged.P103.total.DNA.methylation.RepB 0.8038316
OrigOrder CultureConditions GroupNumber corr PVal
1 7 hESCs.cultured.on.mouse.feeder.layer.and.mechanically.passaged 1 0.346066701 0.3616219
2 7 hESCs.cultured.on.mouse.feeder.layer.and.mechanically.passaged 1 -0.396517739 0.2907117
3 7 hESCs.cultured.on.mouse.feeder.layer.and.mechanically.passaged 1 -0.337107272 0.3750063
4 7 hESCs.cultured.on.mouse.feeder.layer.and.mechanically.passaged 1 0.063036561 0.8720074
5 7 hESCs.cultured.on.mouse.feeder.layer.and.mechanically.passaged 1 -0.007955937 0.9837932
6 7 hESCs.cultured.on.mouse.feeder.layer.and.mechanically.passaged 1 0.360234098 0.3409356
Passage
1 103
2 103
3 103
4 103
5 103
6 103
段落列由 8 个不同的数字组成:
> unique(cpgval.filtered$Passage)
[1] 103 104 147 161 41 42 5 6
Levels: 103 104 147 161 41 42 5 6
我想按通道顺序 5,6,41,42,103,104,147,161 排列数据帧
所以,我打电话:
cpgval.filtered <- cpgval.filtered %>% dplyr::arrange(as.numeric(Passage))
我得到了和我原来的数据框一样的东西:
> unique(cpgval.filtered$Passage)
[1] 103 104 147 161 41 42 5 6
Levels: 103 104 147 161 41 42 5 6
看起来它是根据第一个数字而不是数字的实际值排序的。什么鬼?
【问题讨论】:
-
cpgval.filtered$Passage=as.numeric(as.character(cpgval.filtered$Passage)) -
查看
as.numeric(cpgval.filtered$Passage)的结果 - 我想你会感到惊讶。那就试试as.numeric(as.character(cpgval.filtered$Passage)) -
温的评论成功了!谢谢!有人可以解释发生了什么吗?
-
@AlexNesta - 您正在使用
factor- 看看x <- factor(c(1,1,2), levels=1:2, labels=c(100,11))并注意这些值是如何存储和标记的,然后尝试as.numeric(x)等...