gpt4 book ai didi

r - 循环遍历数据帧的列并将值除以另一个数据帧中按列名称索引的值?

转载 作者:行者123 更新时间:2023-12-02 06:07:08 25 4
gpt4 key购买 nike

我有一个如下所示的数据框,其中有很多列和数据

                 Label 2015-08-24 2015-08-25
1 AxG 179238.8 174160.3
2 CHaF 203544.2 199411.9
3 HHHH 130138.9 129182.2
4 fLS 146367.0 148708.0
5 KSU 194584.7 188508.0
6 MqCC 272922.7 273369.5
7 BEPU 0.0 0.0
8 SSEX 107566.4 111552.8
9 QQQ 248380.4 257064.2
10 AAA 258735.4 260415.5

我有另一个数据框,其行索引与第一个数据框的列名称(在本例中为日期)相同。我想将第一个数据帧列中的每个值除以第二个数据帧中的相应值

                      totals
2015-08-24 1741479
2015-08-25 199411.9

我的第一个想法是做如下的事情(我来自Pythonic背景,尽管是不久前)

        > for(i in names(df1)){
+ df1[[df1[,i]/df2[i,]]]

但这是我收到的错误:

Error in .subset2(x, i, exact = exact) : no such index at level 1 In addition: Warning message: In Ops.factor(weights[, i], weight_totals[i, ]) : ‘/’ not meaningful for factors

有什么想法吗?

最佳答案

我们还可以使用扫描。对于必须将值向量应用于数组的任何情况,它都是一个有用的函数。我们选择边距 2 来扫描列(我们可以为行选择 1):

sweep(df[-1], 2, df2$totals, '/')
# 2015-08-24 2015-08-25
# [1,] 0.10292332 0.8733696
# [2,] 0.11688008 1.0000000
# [3,] 0.07472895 0.6478159
# [4,] 0.08404753 0.7457328
# [5,] 0.11173531 0.9453197
# [6,] 0.15671892 1.3708786
# [7,] 0.00000000 0.0000000
# [8,] 0.06176727 0.5594089
# [9,] 0.14262612 1.2891116
# [10,] 0.14857222 1.3059176

关于r - 循环遍历数据帧的列并将值除以另一个数据帧中按列名称索引的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35465884/

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