【发布时间】:2015-01-24 16:19:27
【问题描述】:
我有一个 data.frame 包含 Time 作为第一列,然后每个后续列是单个细胞的转录因子的浓度,例如:
Time = c(0.1,0.2,0.3,0.4,0.5)
Cell1 = c(1,5,10,4,2)
Cell2 = c(1,5,4,11,5)
Cell3 = c(1,9,5,9,5)
df = data.frame(Time,Cell1,Cell2,Cell3)
得到:
Time Cell1 Cell2 Cell3
1 0.1 1 1 1
2 0.2 5 5 9
3 0.3 10 4 5
4 0.4 4 11 9
5 0.5 2 5 5
现在,我正在尝试提取每个细胞具有最大转录因子浓度的时间,以输出如下内容:
Cell1 0.3
Cell2 0.4
Cell3 0.2,0.4
抱歉,如果这太简单化了,我是 R 新手,并且已经在论坛上摸索了一段时间以寻求答案。我可以通过单独查询每一列来做到这一点,但是我有数百个单元格,并且必须使用我当前的方法为每个单元格编写一个脚本:
cell1_peak=which(df[2]==max(df[2]));cell1_time=df$Time[cell1_peak]
可以通过我当前的方法使用 apply 函数并编译所有单元格以便于导出吗?
【问题讨论】: