저는 2dataframes 는 곳에 나를 찾을 필요가 어떻게 여러 번 항목에서 모$num 가을의 범위 내에서는 x-y 에 의해 지정된 범위 데이터 프레임.
id <- c(1:9)
num <- c(99,101,199,250,999,1500,3000,4000,5000)
mock <- data.frame(id, num)
x <- c(100,100,200,1000,4000,4000)
y <- c(198,200,300,2000,5000,5000)
range <- data.frame(x,y)
원하는 출력은 아래와 같이
id num check
1 99 0
2 101 2
3 199 1
4 250 1
5 999 0
6 1500 1
7 3000 0
8 4000 2
9 5000 2
하여 얻을 수 있습니다 다음 코드
mock$check <- mapply(
function(x){
count = 0
for (i in 1:nrow(range)){
if (x >= range$x[i] & x <= range$y[i]){
count = count + 1
}
}
paste0(count)
},
mock$num
)
위의 방법은 적합하지 않는 large dataset 상해에 대한 루프를 사용 하려고 했던 비 equi 드(via data.table
). 그러나 내가 붙어있으로 어떻게 비 동등을 사용하여 두 개의 테이블(하는 방법을 확실하지 않을 진행...)
nonequi <- mock[range, on =.(num >= x, num <=y),]
고 싶을 추구하는 몇 가지 지침이 이 문제를 해결합니다. 당신의 도움을 주셔서 감사합니다.