특정 범위의 값을 포함해야하는 변수를 선택하는 데 문제가 있습니다. 내 변수를 3 가지 범주로 나누고 싶습니다. 즉; small
, medium
및 big
. 문맥. 나는 obj_hid_woonopp
이라는 이름의 변수를 가지고 있는데 (크기는 m2) 16-375가된다. 그리고 내 데이터 세트는 datalogitvar
입니다.변수의 하위 선택
재현 가능한 코드가 없습니다. 죄송합니다. 그러나 그것이 단순한 질문이라고 생각하기 때문에 그럼에도 불구하고 대답 할 수 있기를 바랍니다. 내가 사용하고있는 코드는 다음과 같습니다.
datalogitvar$size_small<- as.numeric(obj_hid_WOONOPP>="15" & obj_hid_WOONOPP<="75")
datalogitvar$size_medium<- as.numeric(obj_hid_WOONOPP>="76" & obj_hid_WOONOPP<="100")
datalogitvar$size_large<- as.numeric(obj_hid_WOONOPP>="101")
이 코드를 실행하면 결과가 나옵니다. 단지 내가 바라는 결과가 아닙니다. 예를 들어 작은 카테고리에는 매우 높은 숫자도 포함됩니다. 그것은 ("75"
을 정의하기 때문에) "75"
을 포함하고 있기 때문에 "175"
의 값을 취하는 것으로 보입니다. 나는 그것에 대해 생각해 봤고 그것이 내 데이터를 숫자가 아닌 텍스트로 읽는다고 느낀다. 그러나 나는 조금 혼란스러워서 as.numeric
라고 말합니다. 누군가가 내게 3 가지 변수를 적절한 범위로 만들도록 어떻게 설명 할 수 있습니까? 나는 가깝다고 느낀다. 그러나 결과는 지금까지 쓸모가 없다.
도움을 주셔서 대단히 감사합니다.
숫자가 처음부터 문자열로 가져온 이유는 무엇입니까? 그 문제를 먼저 해결해야합니다.상황을보기 위해 [재현 가능한 예]없이 (https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) 도움을받는 것이 어렵습니다. 그러나 문자 값이 아닌 부울 비교시에만 as.numeric()을 실행합니다. – MrFlick
@MrFlick에 동의하면 숫자가 문자와 숫자로 일관성없이 참조되는 문제가 발생합니다. 당신의 문제는 캐릭터로 저장된다는 점에 특화된 것이므로, 모든 것을'obj_hid_WOONOPP'에서'as.numeric'으로 변경하면 당신은 잘되어야합니다. – Mako212
방금 length> (obj_hid_WOONOPP)를 사용했습니다. [1] 90127 그래서 괜찮은 것 같습니다. 그것은 문제를 일으키지 않는 것 같습니다. – Thundersheep