【发布时间】:2013-10-23 01:49:55
【问题描述】:
我有一个包含两列(时间、结果)的 data.frame (df)。我正在尝试根据时间在数据框内循环并检查 Result 的值以执行某些条件。换句话说,我想从头开始遍历 df,直到 df$time 值变为 60。对于每次迭代,我需要检查 df$Result 是否大于 100。但是,我已经通过使用子集来完成此操作,我想知道如何以不同的方式做到这一点..例如嵌套的 For 循环。
我创建了一个 MWE 来说明问题;
time<-seq(1,100,0.1)
Result<-seq(1,991,1)
df<-data.frame(time,Result)
# I want to loop inside the df until the df$time=60
# for each iteration I want to check the df$Result if it's >100.
这是我在嵌套中的尝试:
Df_time<-df$time
Df_result<-df$Result
x<-0
for(i in Df_time){
if(i > 60.0){
for(i in Df_result){
if(i >100){
x<-x+1
}
}
}
}
cat("Total is ",x,"\n")
这似乎不对..我认为这与内部 for 循环有关,因为它会跨越整个范围...有什么建议吗?
【问题讨论】:
-
一般来说,我会避免在嵌套循环中使用相同的运行索引
i(可能会导致不良后果)
标签: r