我目前正在尝试使用维度(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,]
data$logFC[c(2,3,5,8,10,11)] <- 0
当前的问题是我曾经在具有维度15,2的数据框架中执行此操作。现在,如前所述,尺寸更大(401,2)。所以我不能手动操作&#34;。
有人知道这样做的有效方法吗?
非常感谢,
阿纳
答案 0 :(得分:3)
这样的代码应该可以工作:
df$logFC[df$pval >= 0.05] <- 0
其中df是您的数据框。
答案 1 :(得分:1)
正常的方法是
df$logFC[df$pval >= 0.05] <- 0
这对于您的420 x 2
数据框来说肯定足够快。
这是非常基本的R编程。如果您打算更频繁地使用R,我建议您做一个教程或类似this
的内容在旁注上,请勿使用data
作为数据框的名称,因为名称data
实际上是为其他目的而保留的。我建议使用df
左右