【发布时间】:2020-02-21 14:38:11
【问题描述】:
我正在尝试在 R 中创建一个简单的 for 循环,它应该从主数据向量创建一个临时子集向量,并对临时向量进行后续计算。以下是我的代码:
count <- 0
window_size<-100
for (counter in 1:length(main_data_vector)-window_size)
{
temp_window <-main_data_vector[counter:counter+window_size]
count = count+1
}
当我运行代码时,计数器在 length(main_data_vector)-window_size 处停止(预期)。但是 temp_window 的长度保持为 1(应该是 100)并且计数到 length(main_data_vector) 的末尾(应该与 counter 具有相同的值)。我对 rollapply 不熟悉(网上的例子只展示了 sum 和 mean 等基本函数)。
谁能指出我在这里做错了什么?
谢谢。
【问题讨论】:
-
[counter:(counter+window_size-1)]你可以使用rollapply()fromzoo -
count = count+1已过时,由循环完成。 -
@jogo 非常感谢 :)