d <- data.frame(
u = c(7, 4, 6, 2, 9, 3, 8, 1, 6, 3),
v = c(3, 6, 5, 8, 3, 4, 2, 9, 2, 6),
w = c(6, 3, 4, 9, 1, 8, 4, 2, 5, 7))
library(DT)
datatable(d)
x <- c(1, 2, 3, 5)
y <- c(0, 3, 3, 6)
cor(x, y)
## [1] 0.9561829
cor(d$u, d$v)
## [1] -0.851136
cor(d$u, d$v, method = 'spearman')
## [1] -0.836927
cor(d$u, d$v, method = 'kendall')
## [1] -0.7059312
r <- cor(d)
r
## u v w
## u 1.0000000 -0.8511360 -0.4151543
## v -0.8511360 1.0000000 0.1015166
## w -0.4151543 0.1015166 1.0000000
library(kableExtra)
kable(round(r, 2), caption = '相関表') |> kable_classic('striped', full_width = F)
相関表
|
|
u
|
v
|
w
|
|
u
|
1.00
|
-0.85
|
-0.42
|
|
v
|
-0.85
|
1.00
|
0.10
|
|
w
|
-0.42
|
0.10
|
1.00
|
library(psych)
pairs.panels(d)

cor.plot(d)

library(corrplot)
## corrplot 0.92 loaded
corrplot.mixed(r, lower = 'ellips', upper = 'number')

library(plotly)
kyokasho <- list(size = 11, color = 'blue', family = 'UD Digi Kyokasho NK-R')
plot_ly(x = rownames(r),
y = colnames(r),
z = as.matrix(r),
text = paste(r),
type = 'heatmap') |>
layout(font = kyokasho,
title = '主タイトル',
xaxis = list(title = 'x軸カテゴリラベル'),
yaxis = list(title = 'y軸カテゴリラベル'))
(uv <- cor.test(d$u, d$v))
##
## Pearson's product-moment correlation
##
## data: d$u and d$v
## t = -4.586, df = 8, p-value = 0.001788
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.9641022 -0.4772863
## sample estimates:
## cor
## -0.851136
ifelse(uv$p.value < 0.05, '有意', '有意でない')
## [1] "有意"
(uw <- cor.test(d$u, d$w))
##
## Pearson's product-moment correlation
##
## data: d$u and d$w
## t = -1.2907, df = 8, p-value = 0.2329
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.8282759 0.2903733
## sample estimates:
## cor
## -0.4151543
ifelse(uw$p.value < 0.05, '有意', '有意でない')
## [1] "有意でない"
(vw <- cor.test(d$v, d$w))
##
## Pearson's product-moment correlation
##
## data: d$v and d$w
## t = 0.28862, df = 8, p-value = 0.7802
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.5641701 0.6872176
## sample estimates:
## cor
## 0.1015166
ifelse(vw$p.value < 0.05, '有意', '有意でない')
## [1] "有意でない"
library(Hmisc)
rcorr(as.matrix(d))
## u v w
## u 1.00 -0.85 -0.42
## v -0.85 1.00 0.10
## w -0.42 0.10 1.00
##
## n= 10
##
##
## P
## u v w
## u 0.0018 0.2329
## v 0.0018 0.7802
## w 0.2329 0.7802
library(MASS)
n <- 100
rho <- 0.2
set.seed(5)
m <- mvrnorm(n = n, mu = c(10, 5),
Sigma = rbind(c(1, rho),
c(rho, 1)))
d <- as.data.frame(m)
colnames(d) <- c('u', 'v')
library(DT)
datatable(round(d, 2))