sách gpt4 ai đã đi

r - 计算每行的每周返回 - 应用

In lại 作者:行者123 更新时间:2023-12-04 11:34:31 26 4
mua khóa gpt4 Nike

我有一个非常基本的问题,但我不知道如何实现它:我有一个返回数据框,其中每个工具的返回值是按行排列的:

 tmp<-as.data.frame(t(data.frame(a=rnorm(250,0,1),b=rnorm(250,0,1))))

现在我想计算每一行的每周 yield ,即每个后续五个元素的乘积 (=1+return)。这样我就可以获得 50 个非重叠的每周返回。

我怎样才能做到这一点?我希望我能向您说明我的问题。谢谢

1 Câu trả lời

嗯,还不是很清楚,但是包 zoo 和函数 rollapply 应该可以满足您的需求(我认为!):

tmp2 <- rollapply(t(tmp) , width = 5 , FUN = function(x) prod( 1 + x ) , by = 5 , by.column = TRUE )
head( tmp2 )
a b
[1,] -6.2279765402 0.2035895290
[2,] 0.4088722374 3.3903379722
[3,] 0.2112797361 -0.3812740172
[4,] 0.7713020593 -0.0559832485
[5,] -0.4930095796 -2.1750123558
[6,] 6.2076460590 0.0188344154

我使用了t()来转置dataframe,chiều rộng参数设置窗口的大小,by参数设置窗口移动时移动了多少个元素,所以我们的宽度为 5,每次移动 5 个位置,返回 50 个。此外,当我执行 function(x) prod( 1 + x ) 时 R 被矢量化,如果 x 的每个元素不止一个,它会为每个元素加一个,因为我们将宽度设置为 5该函数有 x 的 5 个元素。

并且测试我们发现'a'行的前五列的乘积是:

 1+ tmp[1,1:5]
V1 V2 V3 V4 V5
a -0.4655032 2.02795 2.133612 1.029273 3.004145

prod( 1+ tmp[1,1:5] )
[1] -6.227977

关于r - 计算每行的每周返回 - 应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16165232/

26 4 0
Bài viết được đề xuất: r - R 中的命名元素操作
Bài viết được đề xuất: .net - 我可以在同一台机器上安装 .Net Framework 和 .Net Core 吗?
Bài viết được đề xuất: f# - FSharp.Data CsvProvider 性能
Bài viết được đề xuất: r - 允许 .SDcols 随 data.table 中的分组变量而变化
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com