下面的代码会出错。
cor.test.default中的错误(bp $ bmi [bp $ year == j],bp $ i [bp $ year == j]): “'x'和'y'的长度必须相同”
我的数据中没有NA或NULL值。
如果我将bp$i
更改为bp$sbp
或bp$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
}
}