私は多くの異なる値を持つ要因を持っています。 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 = "")
_
与える:
ここでは、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)
_
これは生成します:
変数factor
(ちなみに悪い名前の選択)にデータがある場合は、table(factor)
またはtable(dat)
ではなくtable(dat$fac)
を使用できます。私のコード例では。
完全を期すために、パッケージlattice
は、必要な方向を取得できるため、ドットプロットの作成に関してより柔軟です。
_require(lattice)
with(dat, dotplot(fac, horizontal = FALSE))
_
与える:
そして_ggplot2
_バージョン:
_require(ggplot2)
p <- ggplot(data.frame(Freq = tab, fac = names(tab)), aes(fac, Freq)) +
geom_point()
p
_
与える: