R:将值B的值乘以-log10值C列

时间:2016-12-13 19:40:17

标签: r

我有一个包含3列的数据框,"符号"," logFC"和" PValue"。我想创建一个标有" Rank"的第四列。在" logFC"中取值的符号乘以" PValue"中的-log10()p值柱。我可以在Excel中轻松完成此操作,但我想知道是否可以在R中执行此操作。谢谢。

> head(test)
   Symbol  logFC   PValue
1     APP  0.590 0.000156
2   MRPS6 -0.301 0.000307
3 PLEKHA6  2.541 0.000541
4 TSC22D1  0.331 0.000624
5    OMA1  0.268 0.000724
6  POPDC2  0.764 0.000892

创建:

     Symbol  logFC    PValue  Rank
1       APP  0.590  0.000156  3.8068754016
2     MRPS6 -0.301  0.000307 -3.5128616245
3   PLEKHA6  2.541  0.000541  3.2668027349
4   TSC22D1  0.331  0.000624  3.2048154103
5      OMA1  0.268  0.000724  3.1402614338
6    POPDC2  0.764  0.000892  3.0496351456

4 个答案:

答案 0 :(得分:0)

test$Rank = -sign(test$logFC) * log(test$PValue, 10)

答案 1 :(得分:0)

通过以下命令:

test$rank <- -1*sign(test$logFC)*log10(test$PValue)

test <- within(test, rank <- -1*sign(logFC)*log10(PValue))

答案 2 :(得分:0)

使用dplyr:

full_seq

答案 3 :(得分:0)

以下是data.table

的选项
library(data.table)
setDT(test)[, Rank := -1*sign(logFC) * log10(Pvalue)]