벡터 a
의 요소가 벡터 b
의 요소 사이에 있거나 R에없는 요소인지 확인하고 싶습니다. 어떻게해야합니까? 의미가 2에서 4 사이의 3이고, 그렇다면 결과에 나타납니다. 그렇지 않으면 나타나지 않습니다. 그냥 내가 벡터의 첫 번째 요소와 마지막 요소를 확인하고 싶지 않다고 언급했다. 결과는 3사이에 있음
a = c(1, 3, 8, 12)
b = c(0, 2, 4, 6, 8)
벡터 a
의 요소가 벡터 b
의 요소 사이에 있거나 R에없는 요소인지 확인하고 싶습니다. 어떻게해야합니까? 의미가 2에서 4 사이의 3이고, 그렇다면 결과에 나타납니다. 그렇지 않으면 나타나지 않습니다. 그냥 내가 벡터의 첫 번째 요소와 마지막 요소를 확인하고 싶지 않다고 언급했다. 결과는 3사이에 있음
a = c(1, 3, 8, 12)
b = c(0, 2, 4, 6, 8)
왜 루프를 사용하지 않으시겠습니까?
> a = c(1, 3, 8, 12)
> b = c(0, 2, 4, 6, 8)
> for (i in 2:(length(a)-1)){ if (b[i] < a[i] && a[i] <b[i+1]) {print (a[i])}}
[1] 3
왜 대답이 다운 투표되었는지 궁금합니다. 그것은 정답으로 받아 들여집니다. 내 대답이 너무 직관적입니까 (아무도 입력하지 않아도됩니까)? 유권자들이 스스로를 정당화 해 주시겠습니까? 또는 제안을 제공합니까? – HongboZhu
나는 그것을 할 것입니다 방법이어야한다 : a[4]
이후
> Interval <- cut(a, b, FALSE) ## Which 'slot' of b does a fit into?
> Interval
[1] 1 2 4 NA
> Interval == 1:length(a) ## Does it fit sequentially?
[1] TRUE TRUE FALSE NA
완전히 b
범위 밖에, 당신은 나중에 FALSE
모든 NA
값을 대체 할 수 있습니다 (예 : Vec[is.na(Vec)] <- F
) 또는 잘라 내기 기능에서 b
대신 c(b,max(a))
을 사용하십시오.
'findInterval'이이 사용 사례에 대해 더 명확 할 수 있습니다. – hadley
나는 다소 모호한 질문을 찾습니다. 당신의 예에서 산출물이 무엇을 기대합니까? 그 이유는 무엇입니까? – NPE
여기에 맞을지도 모릅니다. res <- findInterval (a [-c (1, length (a))], b); % b [c (1, length (b))]]] – mdsumner