为什么在cor.test中出现“'x'和'y'的长度必须相同”的错误?

时间:2019-09-18 03:40:51

标签: r dataframe matrix correlation

下面的代码会出错。

  

cor.test.default中的错误(bp $ bmi [bp $ year == j],bp $ i [bp $ year == j]):   “'x'和'y'的长度必须相同”

我的数据中没有NA或NULL值。

如果我将bp$i更改为bp$sbpbp$dbp并单独运行,则效果很好。

但是如果我放循环代码i;它不起作用。我不知道为什么。

corr <-data.frame(matrix(nrow=1, ncol=4))
names(corr)=c("bp", "year","coefficient","P-value")

e=1
for (i in c("sbp","dbp")){
  for (j in c("2002","2005","2008","2011","2014","2017")){
    result <- cor.test(bp$bmi[bp$year==j], bp$i[bp$year==j])
    corr[e,1]<-i
    corr[e,2]<-j
    corr[e,3]<-round(result$estimate,3)
    corr[e,4]<-round(result$p.value,3)
    e<-e+1
  }
}

0 个答案:

没有答案