我的数据:
pirmas antras trecias
17 44 55
788 890 1409
968 218 344
333 355 Na
我想检查哪个相关性更大:
接下来,我要编写If statement
。
如果 antras 和 trecias 列之间的相关性更大,我将在最后一列中将此N / A值填充为antras列的值。
但是我得到了一个错误,因为函数cor.test是test,并且没有给出数字答案,因此我无法在If语句中对它们进行比较。
我该怎么做?
我的源代码:
data<- X12_5_3
data
a<-cor.test(data$pirmas, data$trecias)
b<-cor.test(data$antras, data$trecias)
if (a<b) {
data$trecias[4]<-data$antras[4]
}
data
答案 0 :(得分:2)
您可以使用$estimate
从测试对象中提取相关值。
set.seed(7)
a <- cor.test(rnorm(5), rnorm(5))
b <- cor.test(rnorm(5), rnorm(5))
if (a$estimate < b$estimate) {
print('correlation of a smaller than b')
}
答案 1 :(得分:2)
如果您不需要进行假设检验,只需使用cor()
即可获得其相关系数。此外,由于缺少值,您需要控制参数use
来处理它。
a <- cor(df$pirmas, df$trecias, use = "complete.obs")
b <- cor(df$antras, df$trecias, use = "complete.obs")