簡體   English   中英

在ggplot中繪制矢量的頻率表

[英]Plot frequency table of vector in ggplot

我使用table函數創建了矢量值的頻率,並繪制了分布(長度為10)。

x <- c(1,3,5,5,6)

plot(table(x), type = "p", pch = 20, xlim = c(1, 10), axes = FALSE)
axis(side = 1, at = c(seq(0, 10, by = 1)))
axis(side = 2)

如何使用ggplot繪制此圖?

如果我從table函數創建數據框,則x軸的縮放比例不合適(相反,x軸上的值是分類的)。

library(ggplot2)

ggplot(as.data.frame(table(x)), aes(x, Freq)) +
  geom_point()

任何想法如何解決這個問題?

table(x)返回x作為一個factor ,您必須將其強制轉換回數字以使刻度連續。

ggplot(as.data.frame(table(x))) + 
    geom_point(aes(x = as.numeric(as.character(x)), 
                   y = Freq)) + 
    scale_x_continuous()

或者,您可以讓ggplot2為您執行計算:

ggplot(as.data.frame(x)) +
    geom_point(aes(x = x), stat = 'count')

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM