我试图得到一个用于演示目的的情节(我知道我没有统计意义,但恰恰是为了讨论这个)。该图必须在 X 轴 (Data$Site) 中有因子,在 Y 轴 (Data$Count) 中有特定值。对于每个“站点”,必须出现一个大小等于 Data$Mean 的点。我当前的代码及其结果如下:
> is.factor(Data$Site)
TRUE
> Data$Site
[1] Creek Shade Valley
Levels: Creek Shade Valley
> Data$Count
[1] 2.1 3.0 8.5
> Data$Mean
[1] 1.456 2.3445 1.345
plot(Data$Site, Data$Count, type = "p", pch=15, cex=Data$Mean)
Run Code Online (Sandbox Code Playgroud)
显然,我不想要线条。我想要 Data$Mean 大小的点。在 R 中有快速而简洁的方法吗?我已经查看了其他包,如lattice 和 ggplot 无济于事。
使用默认方法 - plot.default() 关闭轴。然后使用axis() 函数创建自定义轴。在使用它们设置 cex 之前,我使用了 1/20 的比例作为我的手段。您可能不需要为您的数据执行此操作。
d<-data.frame(Site=c('A','B','C'),
Mean=c(15,25,60),
Count=c(100,200,400))
> is.factor(d$Site)
[1] TRUE
plot.default(d$Site,d$Count,type='p',axes = FALSE,cex=d$Mean/20)
axis(side = 1, at = as.numeric(d$Site), labels = d$Site)
axis(side=2, at=d$Count, labels = d$count)
Run Code Online (Sandbox Code Playgroud)