回答:
Frank HarrellのHmiscパッケージには、注釈のオプションを備えたいくつかの基本的なグラフィックスがあります:summary.formula()
および関連するplot
ラップ関数を確認してください。私もdescribe()
機能が好きです。
詳細については、The Hmisc LibraryまたはAn Introduction to S-PlusおよびHmisc and Design Librariesをご覧ください。
ここでは、オンラインヘルプから取られたいくつかの写真(あるbpplt
、describe
とplot(summary(...))
):
他の多くの例は、R Graphical Manualでオンラインで閲覧できます。Hmiscを参照してください(およびrmsをお見逃しなく)。
パッケージPerformanceAnalyticsの関数chart.Correlationsを強くお勧めします。各変数のカーネル密度プロットとヒストグラム、および各変数ペアの散布図、低めのスムーザー、相関関係など、驚くべき量の情報を1つのグラフにまとめます。それは私のお気に入りのグラフィカルデータサマリー関数の1つです。
library(PerformanceAnalytics)
chart.Correlation(iris[,1:4],col=iris$Species)
私はこの機能が役立つことを発見しました... 元の著者のハンドルは呼吸クラブです。
f_summary <- function(data_to_plot)
{
## univariate data summary
require(nortest)
#data <- as.numeric(scan ("data.txt")) #commenting out by mike
data <- na.omit(as.numeric(as.character(data_to_plot))) #added by mike
dataFull <- as.numeric(as.character(data_to_plot))
# first job is to save the graphics parameters currently used
def.par <- par(no.readonly = TRUE)
par("plt" = c(.2,.95,.2,.8))
layout( matrix(c(1,1,2,2,1,1,2,2,4,5,8,8,6,7,9,10,3,3,9,10), 5, 4, byrow = TRUE))
#histogram on the top left
h <- hist(data, breaks = "Sturges", plot = FALSE)
xfit<-seq(min(data),max(data),length=100)
yfit<-yfit<-dnorm(xfit,mean=mean(data),sd=sd(data))
yfit <- yfit*diff(h$mids[1:2])*length(data)
plot (h, axes = TRUE, main = paste(deparse(substitute(data_to_plot))), cex.main=2, xlab=NA)
lines(xfit, yfit, col="blue", lwd=2)
leg1 <- paste("mean = ", round(mean(data), digits = 4))
leg2 <- paste("sd = ", round(sd(data),digits = 4))
count <- paste("count = ", sum(!is.na(dataFull)))
missing <- paste("missing = ", sum(is.na(dataFull)))
legend(x = "topright", c(leg1,leg2,count,missing), bty = "n")
## normal qq plot
qqnorm(data, bty = "n", pch = 20)
qqline(data)
p <- ad.test(data)
leg <- paste("Anderson-Darling p = ", round(as.numeric(p[2]), digits = 4))
legend(x = "topleft", leg, bty = "n")
## boxplot (bottom left)
boxplot(data, horizontal = TRUE)
leg1 <- paste("median = ", round(median(data), digits = 4))
lq <- quantile(data, 0.25)
leg2 <- paste("25th percentile = ", round(lq,digits = 4))
uq <- quantile(data, 0.75)
leg3 <- paste("75th percentile = ", round(uq,digits = 4))
legend(x = "top", leg1, bty = "n")
legend(x = "bottom", paste(leg2, leg3, sep = "; "), bty = "n")
## the various histograms with different bins
h2 <- hist(data, breaks = (0:20 * (max(data) - min (data))/20)+min(data), plot = FALSE)
plot (h2, axes = TRUE, main = "20 bins")
h3 <- hist(data, breaks = (0:10 * (max(data) - min (data))/10)+min(data), plot = FALSE)
plot (h3, axes = TRUE, main = "10 bins")
h4 <- hist(data, breaks = (0:8 * (max(data) - min (data))/8)+min(data), plot = FALSE)
plot (h4, axes = TRUE, main = "8 bins")
h5 <- hist(data, breaks = (0:6 * (max(data) - min (data))/6)+min(data), plot = FALSE)
plot (h5, axes = TRUE,main = "6 bins")
## the time series, ACF and PACF
plot (data, main = "Time series", pch = 20, ylab = paste(deparse(substitute(data_to_plot))))
acf(data, lag.max = 20)
pacf(data, lag.max = 20)
## reset the graphics display to default
par(def.par)
#original code for f_summary by respiratoryclub
}
これがあなたが考えていたものかどうかはわかりませんが、fitdistrplusパッケージをチェックしてみてください。これには、分布に関する有用な要約情報を自動的に生成し、その情報の一部をプロットする素晴らしい機能がたくさんあります。ビネットの例を次に示します。
library(fitdistrplus)
data(groundbeef)
windows() # or quartz() for mac
plotdist(groundbeef$serving)
windows()
> descdist(groundbeef$serving, boot=1000)
summary statistics
------
min: 10 max: 200
median: 79
mean: 73.64567
estimated sd: 35.88487
estimated skewness: 0.7352745
estimated kurtosis: 3.551384
fw = fitdist(groundbeef$serving, "weibull")
>summary(fw)
Fitting of the distribution ' weibull ' by maximum likelihood
Parameters :
estimate Std. Error
shape 2.185885 0.1045755
scale 83.347679 2.5268626
Loglikelihood: -1255.225 AIC: 2514.449 BIC: 2521.524
Correlation matrix:
shape scale
shape 1.000000 0.321821
scale 0.321821 1.000000
fg = fitdist(groundbeef$serving, "gamma")
fln = fitdist(groundbeef$serving, "lnorm")
windows()
plot(fw)
windows()
cdfcomp(list(fw,fln,fg), legendtext=c("Weibull","logNormal","gamma"), lwd=2,
xlab="serving sizes (g)")
>gofstat(fw)
Kolmogorov-Smirnov statistic: 0.1396646
Cramer-von Mises statistic: 0.6840994
Anderson-Darling statistic: 3.573646
データセットを探索するには、私は本当に好きrattle
です。パッケージをインストールして、単にを呼び出しますrattle()
。インターフェースは非常に自己説明的です。
たぶん、あなたは物事をきれいにプロットできるライブラリggplot2を探しているのかもしれません。または、多くのRグラフィックユーティリティがあると思われるこのWebサイトを確認できます 。http://addictedtor.free.fr/graphiques/
私のお気に入りはDescToolsです
library(DescTools)
data("iris")
Desc(iris, plotit = T)
次のような一連のプロットが生成されます。
一連の記述値(平均、平均SE、中央値、パーセンタイル、範囲、sd、IQR、歪度、尖度を含む)を表示します。
あるいは、タブプロットはグラフィカルな概要にも非常に適しています。
それはで豪華なプロットを生成します tableplot(iris, sortCol=Species)
のD3バージョンtabplot
、つまりtabplotd3もあります。