因变量和自变量之间的相关性
Correlation between dependent and independent variables
我有一个包含一个因变量和 20 个自变量的数据框。我想找到因变量与每个自变量和相关 p 值之间的相关系数。我写了以下函数:
for (i in 2:20){
correl = cor.test(df[ , i], df[ , 22])
print(correl)
}
它一次打印出一个相关系数及其p值。是否有一个函数可以以表格格式产生相同的结果?
您可以使用 sapply
获取结果向量,每对一个:
base.idx <- 1
other.idx <- 2:20
cors <- unname(sapply(other.idx, function(i) cor.test(df[,base.idx], df[,i])$estimate))
pvals <- unname(sapply(other.idx, function(i) cor.test(df[,base.idx], df[,i])$p.value))
这里有一个内置鸢尾花数据集的例子,抓取Sepal.Length和其他三个数值之间的相关信息:
base.idx <- 1
other.idx <- 2:4
(cors <- unname(sapply(other.idx, function(i) cor.test(iris[,base.idx], iris[,i])$estimate)))
# [1] -0.1175698 0.8717538 0.8179411
(pvals <- unname(sapply(other.idx, function(i) cor.test(iris[,base.idx], iris[,i])$p.value)))
# [1] 0.1518983 0.0000000 0.0000000
我有一个包含一个因变量和 20 个自变量的数据框。我想找到因变量与每个自变量和相关 p 值之间的相关系数。我写了以下函数:
for (i in 2:20){
correl = cor.test(df[ , i], df[ , 22])
print(correl)
}
它一次打印出一个相关系数及其p值。是否有一个函数可以以表格格式产生相同的结果?
您可以使用 sapply
获取结果向量,每对一个:
base.idx <- 1
other.idx <- 2:20
cors <- unname(sapply(other.idx, function(i) cor.test(df[,base.idx], df[,i])$estimate))
pvals <- unname(sapply(other.idx, function(i) cor.test(df[,base.idx], df[,i])$p.value))
这里有一个内置鸢尾花数据集的例子,抓取Sepal.Length和其他三个数值之间的相关信息:
base.idx <- 1
other.idx <- 2:4
(cors <- unname(sapply(other.idx, function(i) cor.test(iris[,base.idx], iris[,i])$estimate)))
# [1] -0.1175698 0.8717538 0.8179411
(pvals <- unname(sapply(other.idx, function(i) cor.test(iris[,base.idx], iris[,i])$p.value)))
# [1] 0.1518983 0.0000000 0.0000000