gpt4 book ai didi

r - 计算数据框中每 2 列的比率

转载 作者:行者123 更新时间:2023-12-04 23:22:53 25 4
gpt4 key购买 nike

我是 R 的新手,所以这个问题对你们中的许多人来说可能很简单。我有一个包含 1000 列和 1000 行的数据框,有点像下面这样

id  S1  S2  S3  S4  S5  S6
A1 2 7 9 56 34 23
A2 3 5 11 4 8 56
A3 8 22 32 45 67 76
A4 4 21 23 1 34 43
A5 6 12 5 19 36 46
A6 45 89 76 87 75 78
A7 45 71 56 65 34 87
A8 26 76 67 87 65 65

我想得到第 1/2 列、第 3/4 列、...第 999/1000 列的比率,然后放入一个矩阵中。我尝试使用“for”来做到这一点,但从未成功。任何人都可以帮助我吗?谢谢你。

最佳答案

无需使用for , 使用 seq创建用于选择分子和分母中的列的索引

> num <- seq(2,ncol(df),2)  # index for numerator
> dem <- seq(3,ncol(df),2) # index for denominator
> df[, num] / df[, dem]
S1 S3 S5
1 0.2857143 0.1607143 1.4782609
2 0.6000000 2.7500000 0.1428571
3 0.3636364 0.7111111 0.8815789
4 0.1904762 23.0000000 0.7906977
5 0.5000000 0.2631579 0.7826087
6 0.5056180 0.8735632 0.9615385
7 0.6338028 0.8615385 0.3908046
8 0.3421053 0.7701149 1.0000000

一键搞定: df[,seq(2,ncol(df),2)] / df[, seq(3,ncol(df),2)]

关于r - 计算数据框中每 2 列的比率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19385825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com