在内部循环 r 中存储数据
Storing data in inner loop r
我在存储内部循环的数据时遇到问题。此处描述的问题已简化,不会太具体。
我有一个包含 2 年的数据库 (df)。我把那 2 年 a <- split(df,df$year)
分开了。我现在需要每月计算一次。因此我使用了一个新的循环。为了存储我的结果,我使用了 excRet <- rep (0,24)
。循环有效,但我只能看到最后的输出。内部循环覆盖第一个结果。我确信有更好的方法来存储我的数据。不幸的是,我对 R 和一般编程还很陌生。
for (i in 1:2) {
year <- a[[`i`]]
#split the year into 12 months
spm <- split(year, year$Month)
for (j in 1:12) {
b <- spm[[`j`]]
exrt <- mean(b$excessReturn)
excRet [j] <- exrt
j = j + 1
}
i= i+1
}
(仅从月份计算是不可能的,因为内部循环中有更多的选择标准。我将这些排除在外是为了不使问题过于复杂。循环工作正常,存储来自内部循环的数据是问题)
Waru,没有可重现的例子有点难。这是一个使用 mtcars 的简单示例,展示了如何循环跨越两个不同的索引。如果这不合适,请尝试将 dput 与您的实际数据样本一起使用。
outer<- NULL
for( i in 1:5){
inner <- NULL
for( j in 1:5){
a <- mean( mtcars[ i, j ])
inner <- cbind( inner , a )
}
outer <- rbind( outer , inner)
}
print( outer )
我在存储内部循环的数据时遇到问题。此处描述的问题已简化,不会太具体。
我有一个包含 2 年的数据库 (df)。我把那 2 年 a <- split(df,df$year)
分开了。我现在需要每月计算一次。因此我使用了一个新的循环。为了存储我的结果,我使用了 excRet <- rep (0,24)
。循环有效,但我只能看到最后的输出。内部循环覆盖第一个结果。我确信有更好的方法来存储我的数据。不幸的是,我对 R 和一般编程还很陌生。
for (i in 1:2) {
year <- a[[`i`]]
#split the year into 12 months
spm <- split(year, year$Month)
for (j in 1:12) {
b <- spm[[`j`]]
exrt <- mean(b$excessReturn)
excRet [j] <- exrt
j = j + 1
}
i= i+1
}
(仅从月份计算是不可能的,因为内部循环中有更多的选择标准。我将这些排除在外是为了不使问题过于复杂。循环工作正常,存储来自内部循环的数据是问题)
Waru,没有可重现的例子有点难。这是一个使用 mtcars 的简单示例,展示了如何循环跨越两个不同的索引。如果这不合适,请尝试将 dput 与您的实际数据样本一起使用。
outer<- NULL
for( i in 1:5){
inner <- NULL
for( j in 1:5){
a <- mean( mtcars[ i, j ])
inner <- cbind( inner , a )
}
outer <- rbind( outer , inner)
}
print( outer )