如何在 R 中的 for 循环内创建一个临时向量?
How to create a temporary vector inside a for loop in R?
我正在尝试在 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) 的末尾(应该与计数器具有相同的值)。我对 rollapply 不熟悉(网上的例子只展示了 sum 和 mean 等基本功能)。
任何人都可以指出我在这里做错了什么吗?
谢谢。
您应该为 counter+window_size-1
和 length(main_data_vector)-window_size+1
添加圆括号,即
for (counter in 1:(length(main_data_vector)-window_size+1))
{
temp_window <-main_data_vector[counter:(counter+window_size-1)]
}
我正在尝试在 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) 的末尾(应该与计数器具有相同的值)。我对 rollapply 不熟悉(网上的例子只展示了 sum 和 mean 等基本功能)。
任何人都可以指出我在这里做错了什么吗?
谢谢。
您应该为 counter+window_size-1
和 length(main_data_vector)-window_size+1
添加圆括号,即
for (counter in 1:(length(main_data_vector)-window_size+1))
{
temp_window <-main_data_vector[counter:(counter+window_size-1)]
}