我很难确定如何将我的df子集化以拉出在同一列中达到最大值的所有行。
ID <- c(1,2,3,4,5,6)
X0 <- c(1,2,3,4,5,6,7,8,9,10)
X30 <- c(10,9,8,7,6,5,4,3,2,1)
X60 <- c(9,10,8,7,6,5,4,3,2,1)
X90 <- c(8,9,10,7,6,5,4,3,2,1)
X120 <- c(7,8,9,10,6,5,4,3,2,1)
mydata <- data.frame(ID, X0, X30, X60, X90, X120)
对于上面的数据集,这里是输出
ID X0 X30 X60 X90 X120
1 1 1 10 9 8 7
2 2 2 9 10 9 8
3 3 3 8 8 10 9
4 4 4 7 7 7 10
5 5 5 6 6 6 6
6 6 6 5 5 5 5
我尝试的第一件事就是安排数据
order <- arrange(mydata, X0, X30, X60, X90, X120)
输出:
ID X0 X30 X60 X90 X120
1 1 1 10 9 8 7
2 2 2 9 10 9 8
3 3 3 8 8 10 9
4 4 4 7 7 7 10
5 5 5 6 6 6 6
6 6 6 5 5 5 5
这命令我更大的df所以我可以创建一个这样的热图。
我想将我的df子集化并拉出在X0,X.5等处达到峰值的任何基因(行)。是否有人知道这样做的方法?
我知道这是一个措辞严厉的问题,但是我很难生成一个可行的例子。但是,如果有人能提供帮助,我会非常感激。
答案 0 :(得分:0)
我使用
工作max.col(mydata[2:9], "first")
并将其与数据框对齐。