【发布时间】:2017-12-15 05:07:50
【问题描述】:
我目前正在尝试更改具有维度 (401, 2) 的数据框中某些特定行的某些特定值。
数据框如下所示:
logFC pval
cg00035864 2.931898e-02 0.519802679
cg00061679 -9.465129e-05 0.519802679
cg00063477 -1.360574e-01 0.244373340
cg00121626 7.946710e-03 0.611252125
cg00212031 -6.052011e-02 0.774827599
cg00213748 -9.248549e-02 0.851445095
cg00214611 8.384351e-02 0.519802679
cg00223952 2.184674e-03 0.998934883
cg00243321 9.606841e-02 0.519802679
cg00271873 1.781436e-01 0.605388199
cg00272582 1.186292e-01 0.191905652
cg00308367 1.496136e-02 0.791579139
cg00311963 1.260400e-01 0.519802679
cg00335297 1.819981e-01 0.405942400
cg00455876 1.107911e-01 0.519802679
cg00576139 -9.465129e-05 0.519802679
cg00599377 9.778042e-02 0.519802679
cg00639218 1.005280e-01 0.719199850
cg00676506 2.603663e-02 0.706729687
cg00679624 -3.499232e-02 0.735048055
cg00762184 3.561985e-02 0.039468075
cg00789540 1.296961e-01 0.519802679
cg00876332 -1.240570e-01 0.991495608
cg00975375 1.242095e-01 0.519802679
cg01053349 6.237889e-02 0.938655973
cg01061520 3.988364e-02 0.529964491
cg01073572 -9.700589e-02 0.000829731
cg01086462 -5.650370e-02 0.519802679
cg01141334 1.130912e-01 0.883360324
cg01209756 9.301333e-02 0.519802679
我想要更改 logFC 列中未通过 5% FDR(列 pval,已调整)的那些行的值。
我这样做的方式很粗略,只是检查哪个不重要,然后将它们更改为0。如下所示:
data[data$pval >= 0.05,]
- 在这里,我查看哪些行是我想要更改的行。让我们举一个例子,即原始数据框中的第 2、3、5、8、10 和 11 行。然后我这样继续:
data$logFC[c(2,3,5,8,10,11)] <- 0
当前的问题是我曾经在维度为 15、2 的数据框中执行此操作。现在,如前所述,维度更大(401、2)。所以我不能“手动”做。
有人知道有效的方法吗?
非常感谢,
艾娜
【问题讨论】:
-
如果新值是从另一个值计算出来的,则建议的解决方案不起作用,例如
df$logFC[df$pval >= 0.05] <- df$pval + 3