2017-02-20 7 views
0

상당수의 관측 (N = 10M)으로 인해 데이터가 이미 주파수 형식으로 요약되어 있습니다.주파수 데이터의 막대 그래프

예를 들어, 다음과 같은 형식 (DF)에 있습니다

base <- data.frame(x=round(rnorm(1000,mean=100,sd=10),1)) 
df <- base %>% group_by(x) %>% summarize(n=n()) 

가 어떻게 ggplot2의 히스토그램을 만들려면이 데이터를 사용할 수 있습니까? 수동으로 휴지통을 만들지 않고 전에이 작업을 수행했음을 알고 있지만 삶의 방식을 기억하지 못합니다. 데이터 재 변환을 피하고 싶습니다. 예 :

ggplot() + geom_histogram(aes(rep(df$x, df$n))) 

감사합니다.

는 geom_col의 사용/geom_bar

+2

ggplot (df, aes (x, n)) + geom_col()' 'aes '안에'$'를 사용하지 말고 적절한'data' 인수를 사용하십시오. – Axeman

+0

@ Axeman의 의견은 맞는 것 같습니다. 'width = 1'을 추가하여 막대 그래프가 아닌 막대 그래프처럼 보입니다.'ggplot (df, aes (x, n)) + geom_col (width = 1) ' – scoa

+0

감사합니다. 비 - 정수 데이터 및 binwidth를 설정할 수 없습니다. 예 : '기부 "- data.frame DF <- base %>%의 GROUP_BY (X = 라운드 (rnorm (1000, = 100, SD = 10), 1)을 의미한다) (X) %> % 요약한다 (N = n())' –

답변

0

또한 geom_bar을 사용할 수 있습니다 배제 정수가 아닌 예를 제공하기 위해 편집했다.

ggplot(df, aes(x, n)) + geom_bar(stat = 'identity') 
+0

x 값이 고르게 분포하지 않으면이 작업이 수행되지 않습니다. 또한 대체 binwidth를 처리 할 수 ​​없습니다. 예 : 'base <- data.frame (x = round (rnorm (1000, 평균 = 100, sd = 10), 1) df <- base %> % group_by (x) %> 요약 (n = n())' –

관련 문제