myślę, że to, co szukasz jest po prostu funkcja cor.test()
, który powróci wszystko szukasz wyjątkiem błędu standardowego korelacji. Jednak, jak widać, wzór na to jest bardzo prosty, a jeśli używasz cor.test
, masz wszystkie dane wejściowe wymagane do obliczenia.
Wykorzystując dane z przykładu (dzięki czemu można go porównywać się z wyników na stronie 14.6):
> cor.test(mydf$X, mydf$Y)
Pearson's product-moment correlation
data: mydf$X and mydf$Y
t = -5.0867, df = 10, p-value = 0.0004731
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.9568189 -0.5371871
sample estimates:
cor
-0.8492663
jeśli chcesz, możesz również utworzyć funkcję jak na poniższym obejmuje standard błąd współczynnika korelacji.
Dla wygody, tutaj równanie:
R = oszacowanie korelacji i n - 2 = stopnie swobody, z których oba są z łatwością dostępne na wyjściu powyżej. Zatem prosta czynność może być:
cor.test.plus <- function(x) {
list(x,
Standard.Error = unname(sqrt((1 - x$estimate^2)/x$parameter)))
}
i używać go w sposób następujący:
cor.test.plus(cor.test(mydf$X, mydf$Y))
tutaj "mydf" jest zdefiniowany jako:
mydf <- structure(list(Neighborhood = c("Fair Oaks", "Strandwood", "Walnut Acres",
"Discov. Bay", "Belshaw", "Kennedy", "Cassell", "Miner", "Sedgewick",
"Sakamoto", "Toyon", "Lietz"), X = c(50L, 11L, 2L, 19L, 26L,
73L, 81L, 51L, 11L, 2L, 19L, 25L), Y = c(22.1, 35.9, 57.9, 22.2,
42.4, 5.8, 3.6, 21.4, 55.2, 33.3, 32.4, 38.4)), .Names = c("Neighborhood",
"X", "Y"), class = "data.frame", row.names = c(NA, -12L))
Może szukasz 'cor .test' zamiast tego. – A5C1D2H2I1M1N2O1R2T1