質問

さまざまな価値のある要因があります。実行する場合 summary(factor) 出力は、異なる値とその頻度のリストです。そのようです:

A B C D
3 3 1 5

周波数値のヒストグラム、つまりX軸に発生するさまざまな周波数が含まれていること、y軸がこの特定の周波数を持つ因子の数を含んでいます。そのようなことを達成するための最良の方法は何ですか?

編集:以下の回答のおかげで、私ができることは、周波数の要因をテーブルから取得し、それをテーブルで入手してからグラフ化することを理解しました。 f 要因です):

plot(factor(table(f)))
役に立ちましたか?

解決

明確なqに照らして更新します

set.seed(1)
dat2 <- data.frame(fac = factor(sample(LETTERS, 100, replace = TRUE)))
hist(table(dat2), xlab = "Frequency of Level Occurrence", main = "")

与える:

histogram of frequency of occurrence in factor

ここで適用します hist() の結果に直接 table(dat). table(dat) 係数のレベルあたりの周波数を提供します hist() これらのデータのヒストグラムを生成します。


オリジナル

いくつかの可能性があります。あなたのデータ:

dat <- data.frame(fac = rep(LETTERS[1:4], times = c(3,3,1,5)))

列1から上から下まで3つあります。

  • クラスのデフォルトのプロットメソッド "table", 、データとヒストグラムのようなバーをプロットします
  • バープロット - これはおそらくあなたがヒストグラムによって意味するものです。ここでは、インクと情報の低い比率に注意してください
  • ドットプロットまたはドットチャート。他のプロットと同じ情報を表示しますが、ユニット情報ごとにはるかに少ないインクを使用します。好ましい。

それらを生成するコード:

layout(matrix(1:4, ncol = 2))
plot(table(dat), main = "plot method for class \"table\"")
barplot(table(dat), main = "barplot")
tab <- as.numeric(table(dat))
names(tab) <- names(table(dat))
dotchart(tab, main = "dotchart or dotplot")
## or just this
## dotchart(table(dat))
## and ignore the warning
layout(1)

これが生成します:

one dimensional plots

データを変数にしているだけの場合 factor (ちなみに悪い名前の選択) table(factor) ではなく使用できます table(dat) また table(dat$fac) 私のコードの例で。

完全性のために、パッケージ lattice 必要な方向を得ることができるので、ドットプロットを作成することに関しては、より柔軟です。

require(lattice)
with(dat, dotplot(fac, horizontal = FALSE))

与える:与える:

Lattice dotplot version

そしてa ggplot2 バージョン:

require(ggplot2)
p <- ggplot(data.frame(Freq = tab, fac = names(tab)), aes(fac, Freq)) + 
    geom_point()
p

与える:与える:

ggplot2 version

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top