当你有严重的异常值时,你如何处理dotPlot的中断:
我无法将数据转换为日志或类似内容。
library(mosaic)
n=300
r =c(seq(1,15,1))
binwidth = 1
outliers= c(100,400,800,700)
#outliers= c(15,14,3,5)
dat = c(sample(r ,n= 1,size = n, replace = TRUE),outliers)
quantile(dat)[4]+1.5* IQR(dat)
n=n+4
brks = c(seq(0,sd(dat)*2,binwidth),tail(seq(0,sd(dat)*2,binwidth),1)+binwidth,tail(seq(0, max(dat),binwidth),1)+binwidth)
d = data.frame( x = dat, color = c(rep("red",n/2), rep("green",n/2)))
dotPlot(d$x, breaks = seq(min(d$x)-binwidth,max(d$x)+binwidth,binwidth), cex = .5)
If you run that code you will see 4 outliers that make the plot unreadable. How would you deal with that?
现在,断点从d $ x的最小值到最大值,但我觉得应该删除其中一些空箱。你会用什么逻辑来删除这些垃圾箱?超过2个标准差的箱子是空的然后将它们拆下来?你能给出示例代码吗?
不知道如何在不使用dotPlot()或dotplot()的情况下创建自己的点图。
我有" dat"下面的数据框
##### HERE CAN I CREATE MY OWN DOT PLOT?
library(qdapRegex)
binwidth = 1
t = table(cut(dat, seq(0,max(dat)+1,binwidth) ))
r_names =rownames(t)[t>0]
r_names = as.numeric(rm_between(r_names, ',', ']', extract=TRUE))
dat =data.frame(bin = r_names, data = t[t>0])
dat #can you turn this into a dot plot where the x-axis ONLY consists of the bin column. i.e. no space between 15 and 100?
谢谢。