7

Rのqccパッケージのpareto.chart関数を使用していて、とても気に入っています。次に、すべてのグラフィックを移植して、代わりにggplot2パッケージを利用したいと思います。ただし、優れたドキュメントにもかかわらず、ggplot2に関する私の知識は非常に限られているため、すべての詳細を理解することはできません。基本的に私はこのようなプロットが欲しいです

qccパッケージのpareto.chart関数によって作成された単純なパレート図

しかし、代わりにggplot2パッケージで作成されました。プロットを作成するためのコードを以下に示します。

    library(qcc)
    defect <- c(80, 27, 66, 94, 33)
    names(defect) <- c("price code", "schedule date", "supplier code", "contact num.", "part num.")
    pareto.chart(defect, ylab = "Error frequency", col=heat.colors(length(defect)))

誰かがこれに対する解決策を持っていますか?パレート図については前に説明しましたが、結果は私が望むものとはまったく似ていません。

4

1 に答える 1

9

どうぞ:

library(ggplot2)

counts  <- c(80, 27, 66, 94, 33)
defects <- c("price code", "schedule date", "supplier code", "contact num.", "part num.")

dat <- data.frame(
  count = counts,
  defect = defects,
  stringsAsFactors=FALSE
)

dat <- dat[order(dat$count, decreasing=TRUE), ]
dat$defect <- factor(dat$defect, levels=dat$defect)
dat$cum <- cumsum(dat$count)
dat

ggplot(dat, aes(x=defect)) +
  geom_bar(aes(y=count), fill="blue", stat="identity") +
  geom_point(aes(y=cum)) +
  geom_path(aes(y=cum, group=1))

ここに画像の説明を入力

于 2012-04-13T10:51:55.693 に答える