【发布时间】:2019-08-08 09:04:04
【问题描述】:
所以我搜索了一些其他问题,但它们并不是我想要的。
我有一个数据框,列中有样本,行中有条件。数据排列如下,除了大约 200 行和大约 30000 列:
donor_id time stimulation Gene_1 Gene_2 Gene_3 Gene_4 Gene_5 Gene_6 Gene_7 Gene_8
A 0.5h U 80.56644 0 55.68308 3.567304 6.465864 1.095409 490.3318 2.322889
A 0.5h Stim 79.37402 0 55.88619 4.394622 6.503430 1.190555 453.7305 0.169858
A 1h U 62.73152 0 53.01435 3.596723 7.272073 0.736384 349.6818 1.307157
A 1h Stim 54.82245 0 53.17697 3.445614 5.385228 1.520416 332.2109 1.378058
B 0.5h U 69.89228 0 51.78394 2.410192 5.668343 1.482302 377.0095 0.589922
B 0.5h Stim 64.42587 0 52.67998 1.085260 8.958538 0.977994 382.8479 0.312372
B 1h U 56.47391 0.323123 52.93331 2.925232 5.650667 1.396532 356.9900 1.657515
B 1h Stim 0.25548 0.085027 49.85429 1.355360 5.030664 2.175491 218.5442 0.290898
我想从“Stim”行中减去所有“U”行,留下我开始行数的一半。完整表中的每一行都有一个唯一的donor_id 和 time 组合
我可以通过搜索找到的所有类似问题似乎都想从其他所有内容中减去一行,或者想从其上方的行中减去每一行,而不是每隔一行。我确信一定有某种方法可以使用 FOR 循环或 lapply,但我不知道如何在所有行和列中获取它。
【问题讨论】:
-
@Phil_D 如何生成两个数据帧(一个只有 U,另一个只有 Stim),然后以线性方式减去你想要的值? (这假设数据帧每次都有偶数)
-
啊,这似乎是一个简单的解决方案,我应该自己考虑...而且似乎效果很好,谢谢!