1

2 つの列 (時間、結果) を含む data.frame (df) があります。時間に基づいてデータ フレーム内をループし、結果の値をチェックして条件を実行しようとしています。つまり、最初から df$time の値が 60 になるまで df を調べたいと考えています。反復ごとに、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ループに関連していると思います...何か提案はありますか?

4

2 に答える 2

2

これにより、行数のカウントが得られるはずです。これは、合計しようとしているものだと思いますx

 dim(df[time < 60 & Result > 100,])[1]
于 2013-10-22T17:25:58.653 に答える