ggplot2 中的箱线图产生垃圾
Boxplot in ggplot2 giving garbage
您好,我有以下天气数据数据框:
> head(tab)
month day hour min tempi hum precip_ratei pws observationTime
1 03 09 00 01 51.8 80 -99.99 KCASANFR291 1
2 03 09 00 21 52.0 80 -99.99 KCASANFR291 2
3 03 09 00 41 51.8 80 -99.99 KCASANFR291 3
4 03 09 01 02 51.6 80 -99.99 KCASANFR291 4
5 03 09 01 21 51.6 80 -99.99 KCASANFR291 5
与
> unique(tab$pws)
[1] "KCASANFR291" "KCASANFR58" "KCASANFR328" "KCASANFR49" "KCASANFR131" "KCASANFR371" "KCASANFR142" "KCASANFR384"
[9] "KCASANFR326" "KCASANFR231" "KCASANFR335" "KCASANFR259" "KCASANFR366" "KCASANFR367" "KCASANFR354" "KCASANFR394"
[17] "KCASANFR357" "KCASANFR299" "KPCASANF2" "KCASANFR114" "KCASANFR404" "KCASANFR355" "KCASANFR314" "KCASANFR297"
[25] "KCASANFR343" "KCASANFR327" "KCASANFR317" "KCASANFR236" "KCASANFR79"
现在我正在尝试使用 ggplot2 boxplot 使用以下代码绘制它,但它给出了下面奇怪的图片。你能说说为什么会这样吗?
library(ggplo2)
p <- ggplot(tab, aes_string(y = "tempi", x ="pws"))
p + geom_boxplot()
还有,跟轴值有关系吗?
错误是由于 boxplot
函数的数据类型不匹配,正如@Roman Lustrik 所指出的那样。 tempi
应该是数字或整数,'pwi' 应该是因子数据类型。我用正确数据类型的示例数据集尝试了代码,它工作正常。
样本数据集
'data.frame': 5 obs. of 9 variables:
$ month : int 3 3 3 3 3
$ day : int 9 9 9 9 9
$ hour : int 0 0 0 1 1
$ min : int 1 21 41 2 21
$ tempi : num 51.8 52 51.8 51.6 51.6
$ hum : int 80 80 80 80 80
$ precip_ratei : num -100 -100 -100 -100 -100
$ pws : Factor w/ 3 levels "KCASANFR291",..: 1 1 2 2 3
$ observationTime: int 1 2 3 4 5
箱线图
您好,我有以下天气数据数据框:
> head(tab)
month day hour min tempi hum precip_ratei pws observationTime
1 03 09 00 01 51.8 80 -99.99 KCASANFR291 1
2 03 09 00 21 52.0 80 -99.99 KCASANFR291 2
3 03 09 00 41 51.8 80 -99.99 KCASANFR291 3
4 03 09 01 02 51.6 80 -99.99 KCASANFR291 4
5 03 09 01 21 51.6 80 -99.99 KCASANFR291 5
与
> unique(tab$pws)
[1] "KCASANFR291" "KCASANFR58" "KCASANFR328" "KCASANFR49" "KCASANFR131" "KCASANFR371" "KCASANFR142" "KCASANFR384"
[9] "KCASANFR326" "KCASANFR231" "KCASANFR335" "KCASANFR259" "KCASANFR366" "KCASANFR367" "KCASANFR354" "KCASANFR394"
[17] "KCASANFR357" "KCASANFR299" "KPCASANF2" "KCASANFR114" "KCASANFR404" "KCASANFR355" "KCASANFR314" "KCASANFR297"
[25] "KCASANFR343" "KCASANFR327" "KCASANFR317" "KCASANFR236" "KCASANFR79"
现在我正在尝试使用 ggplot2 boxplot 使用以下代码绘制它,但它给出了下面奇怪的图片。你能说说为什么会这样吗?
library(ggplo2)
p <- ggplot(tab, aes_string(y = "tempi", x ="pws"))
p + geom_boxplot()
还有,跟轴值有关系吗?
错误是由于 boxplot
函数的数据类型不匹配,正如@Roman Lustrik 所指出的那样。 tempi
应该是数字或整数,'pwi' 应该是因子数据类型。我用正确数据类型的示例数据集尝试了代码,它工作正常。
样本数据集
'data.frame': 5 obs. of 9 variables:
$ month : int 3 3 3 3 3
$ day : int 9 9 9 9 9
$ hour : int 0 0 0 1 1
$ min : int 1 21 41 2 21
$ tempi : num 51.8 52 51.8 51.6 51.6
$ hum : int 80 80 80 80 80
$ precip_ratei : num -100 -100 -100 -100 -100
$ pws : Factor w/ 3 levels "KCASANFR291",..: 1 1 2 2 3
$ observationTime: int 1 2 3 4 5
箱线图