2012-08-16 4 views
4

나는 (1,100,2,30,20, ...)과 같은 벡터를 가지고있다.R의 벡터에서지도 함수를 수행하는 방법?

그리고 나는이 값을 다른 값으로 매핑하고 싶다. 실제로 이러한 값에 대한 루프를 수행 할 수 있지만 맵 기능을 벡터화 할 수 있는지 궁금합니다. 예를 들어, 나는 그런

1 -> "< 10", 
20 -> "10 to 50", 
60 -> "50 to 100", 

감사

+2

'? switch'를보세요. – mnel

+0

질문이 명확하지 않거나 재현 가능하지 않습니다. 이로 인해 도움이 어려워집니다. 귀하의 질문을 좀 더 명확하게 제안 해 주시기 바랍니다. –

+3

는 저에게'cut()'같이 소리가 난다. – Chase

답변

4

어떻게 이런 일에 대해 다음과 같이 자사의 버킷 값을 매핑하고 싶습니다?

test <- c(1,24,2,30,20) 

sapply(
    # bin the data up 
    findInterval(test,seq(0,30,10)), 
    # apply a particular function to the data element 
    # dependent on which bin it was put into 
    function(x) switch(x,sqrt(x),sin(x),cos(x),tan(x)) 
    ) 

[1] 1.0000000 -0.9899925 1.0000000 1.1578213 -0.9899925 
관련 문제