因子周波数のヒストグラムプロットを取得します(要約)
-
24-10-2019 - |
質問
さまざまな価値のある要因があります。実行する場合 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))
与える:与える:
そしてa ggplot2
バージョン:
require(ggplot2)
p <- ggplot(data.frame(Freq = tab, fac = names(tab)), aes(fac, Freq)) +
geom_point()
p
与える:与える:
所属していません StackOverflow