大きなデータフレーム (100 万行以上) で、特定の範囲内にあり、3 番目の基準を満たす要素 (行) の数を数えています。私はこれらの範囲を 33 個持っており、非常に遅い for ループを使用して答えを取得していますが、問題ありません。
速度は非常に重要な問題であるため、これをより高速に実行するための助けをいただければ幸いです。for ループと「ベクトル化」または何らかの「適用」ソリューションを取り除くことはできますか?
前もって感謝します
コード:
N.data<-c(1:33)
Lower<-c(0,100000,125000,150000,175000,200000,225000,250000,275000,300000,325000,350000,375000,400000,425000,450000,475000,500000,550000,600000,650000,700000,750000,800000,850000,900000,950000,1000000,1100000,1200000,1300000,1400000,1500000)
Upper<-c(100000,125000,150000,175000,200000,225000,250000,275000,300000,325000,350000,375000,400000,425000,450000,475000,500000,550000,600000,650000,700000,750000,800000,850000,900000,950000,1000000,1100000,1200000,1300000,1400000,1500000, 5000000)
for (i in 1:(length(N.data))){
N.data[i]<-nrow(dataset[dataset$Z==c & dataset$X > Lower[i] & dataset$X < Upper[i],])
}