의 루틴 (이 아래 참조), 내 데이터를 탐색 할 수 여러"길이"+ "하는"문을 (아래 참조) 사용하고 자동화.내 데이터 감안할 때 R
1x. 효율적인 코드가 있습니까 자동화 이러한 많은 코드 줄을 사용하는 대신?
질문 2. 대답 "길이"+ "어느"인 테이블에서의 답을 요약 할 수 있습니까? (즉, 첫번째"길이"에 대한 + 예를 들어 "있는"테이블이 "1 사분면" 옆에 또는 9 아래를 말할 수있는 대답은 9입니다, 문)? 여기
이 내 데이터과 "길이를"+ "하는"내가 만든 문 :
x <- c(2,1,5,4,5,8,6,6,4,1,2,2,2,5,9,5,4,3,2,3,1,3,1,7,3,2,2,9,7,7,9,8,8,6,4,6,7,2,1,4,3,9)
y <- c(1,2,2,8,7,4,6,7,5,5,2,9,3,9,1,5,7,1,8,6,8,4,9,2,7,5,7,6,3,8,3,3,7,8,3,4,4,4,3,6,5,4)
## HERE is my "length" + "which" statements:
length(x[which(x < 5 & y <5)]) ## 1st quadrant datapoints (Left Bottom)
length(x[which(x < 5 & y >5)]) ## 2rd quadrant "
length(x[which(x > 5 & y >5)]) ## 3rd quadrant "
length(x[which(x > 5 & y <5)]) ## 4rd quadrant datapoints (Right Bottom)
length(x[which(x < 5)]) ## 1st left half
length(x[which(x > 5)]) ## 2nd right half
length(x[which(y < 5)]) ## 1st Bottom half
length(x[which(y > 5)]) ## 2nd Top half
length(x[which(x==5)]) ## Balanced Scope
length(x[which(y==5)]) ## Balanced Technicality
length(x[which(x==5 & y==5)]) ## Equal Scope and Technicality
length(x[which(y==5)]) ## How many of Xs have a Y of 5
length(y[which(x==5)]) ## How many of Ys have a X of 5
체크 아웃 할 ... –
당신은 여기에'()'문 중 하나를 필요가 없습니다. As [Hick Wickham :] (http://adv-r.had.co.nz/Subsetting.html) "처음 서브 세트를 배울 때 일반적인 실수는 대신에 x [which (y)]를 사용하는 것이다. 'x [y]'의 " – RHertel
@RHertel은 NA 값을 어떻게 처리 할 것인가에 달려 있습니다. 'x [y]'와'y'가 NA 값을 포함한다면, 그 위치에 NA 값을 삽입하게됩니다. 이를 피하려면 isTRUE 또는 which를 사용하십시오. 나는 또한 하위 집합을 저장하고 동일한 하위 집합을 정의하는 전체 길이의 논리 벡터와 비교할 때 꽤 많은 메모리를 저장하기 위해'which '를 사용합니다. –