0

ks.test はクラス「htests」のリストを返しますが、これらのリストを適切なクラスでベクトルに格納する方法が見つかりません。私が使用しているコードは次のとおりです。

random.sim <- read.delim("ABC_searStatsForModelFit_model0_RandomValidation.txt")
labels <- names(random.sim)
par(mfrow=c(4,3), oma=c(0.5, 0.75, 2, 0.25), mar=c(4, 4, 4, 4))
pdf("posterior_bias_random.pdf",width=9,height=13)
ks = vector("list",12)
i=1
for (n in c(6,11,16,21,26,31,36,41,46,51,56,61)) {
  ks[i]<-ks.test(random.sim[,n], "qunif")
  i=i+1
  hist(random.sim[,n], main="", xlab=labels[n], ylab="Frequency")
  add_label(0.4, 0.07, paste("K-S test = ", ks[i], sep=""))
     }
title("2CAB+CJAfg", outer=T)
dev.off()

各 ks[i] にはクラス htest がないため、何か間違ったことをしていることはわかっています

「add_label」は、プロット内のラベルを揃えるためにどこかから借りた小さな関数であることに注意してください(申し訳ありませんが、どこからか覚えていませんが、おそらくStackoverflowから)

add_label <- function(xfrac, yfrac, label, pos = 4, ...) {
  u <- par("usr")
  x <- u[1] + xfrac * (u[2] - u[1])
  y <- u[4] - yfrac * (u[4] - u[3])
  text(x, y, label, pos = pos, ...)
}

助けてくれてありがとう。パブロ

その場でラベル付けすることでプロット部分を解決できました

pdf("posterior_bias_random.pdf",width=9,height=13)
par(mfrow=c(4,3), oma=c(0.5, 0.75, 2, 0.25), mar=c(4, 4, 4, 4))
for (n in c(6,11,16,21,26,31,36,41,46,51,56,61)) {
  ks<-ks.test(random.sim[,n], "qunif")
  hist(random.sim[,n], main="", xlab=labels[n], ylab="Frequency")
  add_label(0.4, 0.07, paste("K-S test = ", signif(ks$statistic, digits=3), sep=""))
}
  title("2CAB+CJAfg", outer=T)
dev.off()

しかし、私はまだそのようなリストをどのように保存するのか疑問に思っています. Q:「ht​​est リストをマトリックスに格納する方法」を読みましたが、解決策を使用できません。ジョシュは最後のテストリストのみを保持しますが、ブルーノ自身の回答は非数値情報の保存方法を明確にしません。
とにかく、この素晴らしいフォーラムを維持するためのタンク。おそらく、R コードの質問を解決するための私の好みの情報源です。
パブロ

4

0 に答える 0