히스토그램을 만들고 변수의 출력에 가중치를 주려고합니다. 이 예제에서는 "값"의 히스토그램에 "금액"가중치를 지정합니다. 이전 게시물을 검색했지만 이것이 내 문제를 해결하지 못하는 것 같습니다. 내가 히스토그램에서 서로 다른 가중치 결과를 예상히스토그램을 가중치하려고 할 때 예기치 않은 ggplot 출력이
1) :
는 내가 해결하기 위해 노력하고이 문제가있다. 나는 "2"값이 막대를 16 %로, "3"값을 막대를 24 %로, "4"값을 막대의 18 %로, "5"값을 42 %의 막대가 있습니다.2) "0"값이 검은 막대가 100 %와 같은 이유가 막대 그래프에 나타납니다.
불행히도 내가 처음 이라기 때문에 출력물을 게시 할 수 없습니다.
대단히 감사합니다!
이library(ggplot2)
amount <- c(rep(0.02, 50), rep(0.03, 50))
value <- c(rep(2, 20), rep(3, 30), rep(4, 15), rep(5, 35))
my_df <- data.frame(amount, value)
xvar <- my_df$value
weight <- my_df$amount
histogram <- ggplot(my_df, aes(xvar))
histogram <- histogram + geom_histogram(aes(weight))
histogram <- histogram + geom_histogram(binwidth=0.25,
colour="black", fill="white")
plot(histogram)
의도 한 결과에 관계없이 ggplot 코드 자체에는 많은 문제가 있지만, 백업하고 가중치를 묻는 데 도움이됩니다. 값의 20 %는 2입니다. 데이터가 주어지면 그 부분이 나에게 의미가 없기 때문에 어떻게 0.16의 가중치를 얻을 것으로 예상되는지 설명 할 수 있습니까? – joran
... 더 구체적으로 말하자면, 가중치 히스토그램을 원하면 'value'의 히스토그램을 생성하는'ggplot (my_df, aes (x = value, weight = amount)) + geom_histogram() '금액'으로 가중치를 부여합니다. 그러나 그것은 당신이 묘사하는 것을 만들어내는 것처럼 보이지 않으므로, 당신이 실제로 원하는 것을 이해하려고 노력하고 있습니다. – joran
대단히 감사합니다. 조란. 바라기를 나는 이것에 대해 올바른 생각을하고 있습니다. ** 금액 ** = 2.5의 합계. ** 값 ** = 2 인 단일 항목의 경우 퍼센트는 0.02/2.5 = 0.8 %입니다. 따라서 2의 값을 가진 20 개의 항목이 있기 때문에 2의 모든 것은 0.8 % * 20 = 16 %를 나타낼 것입니다. 저는 여기에있는 코드가 작지는 않다는 것을 압니다. 그러나 나는 이렇게 작성했습니다. 그래서 누군가가 각각의 연속적인 코드 행 히스토그램에 할 것입니다. 내가 당신의 코드를 사용했을 때 나는 실제로 사라져 버린 검정색 막대 문제를 겪었습니다. (이전에 이것을 시도했지만 오류가있었습니다 ... 잘못 입력했을 것입니다).가중치가 예상 한 것과 다릅니다. – DaveM