내 목표는 하나의 특정 상점의 존재와 이러한 상점을 찾을 수있는 인구 밀도 사이에 링크가있는 경우 피봇 테이블을 비교하는 것입니다. 이를 위해 CSV 파일을 만들었습니다. 여기에는 매장이 있거나없는 600 개의 지역이 포함되어 있습니다. 이 파일은 600 행과 2 열로 구성됩니다. 1/한 영역에 대한 인구 밀도를 나타내는 숫자와이 영역 (0, 1 또는 2)에있는이 특정 상점의 수량의 2/2입니다.R에 연속 변수를 그룹화하십시오
피벗 테이블을 수행하려면 각 60 줄의 10 개 그룹 (첫 번째 그룹에는 60 개의 작은 밀도가있는 마지막 그룹까지 60 개의 큰 밀도)을 그룹화해야합니다. 그러면 밀도가 낮거나 높을 지 여부에 상관없이 상점의 수를 쉽게 볼 수 있습니다. 나는 이해할 수 있는가 (나는 희망한다)? :)
나는 정말로 어렵지 않습니다. 그러나 거기에는 약간의 길 (그리고 꾸러미)이 있습니다. 나는 그것을 잃어 버렸습니다.
나의 주요 문제 : 내 변수를 각각 60 줄로 구성된 10 개의 그룹으로 그룹화하는 가장 간단한 방법은 무엇입니까? 나는 성공하지 않고 cut()/cut2()과 hist()를 시도했다. bin_var()와 reshape()에 대해 들었지만이 경우에 도움이 될 수있는 방법을 모르겠다.
예를 들어 (저스틴이 물었을 때). 컷()와 :
data <- read.csv("data.csv", sep = ";")
groups <- cut(as.numeric(data$densit_pop2), breaks=10)
summary(groups)
(0.492,51.4] (51.4,102] (102,153] (153,204] (204,255] (255,306]
53 53 52 52 52 54
(306,357] (357,408] (408,459] (459,510]
52 59 53 54
좋아, 좋은, 참으로 '그룹은'라인의 거의 같은 수의 10 개 그룹을 포함합니다. 그러나 그 간격에 표시된 확실성 값은 나를 감각이 가지지 않습니다. 다음은 밀도 열의 첫 번째 줄입니다 (점차적으로 정렬 됨).
> head(data$densit_pop2)
[1] 14,9 16,7 17,3 18,3 20,2 20,5
509 Levels: 100 1013,2 102,4 102,6 10328 103,6 10375 10396,8 104,2 ... 99,9
즉, 첫 번째 그룹을보십시오. 14.9가 가장 작은 값일 때 왜 0.492입니까? 첫 번째 값과 51.4 값 사이의 수를 수동으로 계산하면 76이됩니다. 왜 53 행으로 표시됩니까? 정확한 데이터 프레임의 순위가 가장 낮습니다.
나는 확실히 뭔가를 놓친다. 그러나 무엇?
실제 코드에서와 같이 시도한 것을 공유 할 수 있습니까? 어떻게 '컷'과 '히스'가 작동합니까? 각 그룹에서 짝수를 원하거나 범위 전체에서 분포를 원하십니까? – Justin
당신은 [백분위 수] (http://stackoverflow.com/questions/7165683/where-is-the-percentile-function-in-cran-r) – Metrics
@justin을 사용할 수 있습니다. 아주 좋은 질문입니다! 나는 * 정말로 * 각 그룹마다 짝수를 필요로한다. 그것은 내가 '컷'과 '히스'로 만드는 데 실패한 것입니다 ... – jonathan