我使用两种不同的方式来使用cor.test
,一种在我自己的功能中,另一种则直接使用cor.test
。当我在自己的功能中使用cor.test
时,它出现了一个错误,它怎么会发生?cor.test,“没有足够的有限观测值”
这是OK
cor.test(x=cust_new$maintain_cust/cust_new$ttl_cust,
y=cust_new$ttl_cust,alternative="two.sided",
method="pearson",conf.level=0.95)
下面将给出错误:
“没有足够的有限的意见”
cor_result<-function(x,y,data){
a<-cor.test(x=as.numeric(data$x)/as.numeric(data$y),
y=as.numeric(data$y),
alternative="two.sided",method="spearman",
conf.level=0.95)
r<-a$estimate
p<-a$p.value
c<-data.frame(r=r,p=p)
return(c)
}
d<-cor_result(x=maintain_cust,y=ttl_cust,data=cust_new)
下面会给错误:
'Y' 必须是数字载体”
cor_result<-function(x,y,data){
a<-cor.test(x=data$x/data$y,y=data$y,
alternative="two.sided",method="spearman",conf.level=0.95)
r<-a$estimate
p<-a$p.value
c<-data.frame(r=r,p=p)
return(c)
}
d<-cor_result(x=maintain_cust,y=ttl_cust,data=cust_new)
dput(cust_new),几个样品:
structure(list(data_month = structure(c(16953, 16983, 17014,
17045, 17075, 17106, 16953, 16983, 17014, 17045), class = "Date"),
ttl_cust = c(383L, 580L, 735L, 850L, 952L, 1062L, 2418L,
2492L, 2515L, 2550L), maintain_cust = c(179L, 266L, 355L,
413L, 448L, 508L, 935L, 1026L, 1091L, 1143L)), row.names = c(NA,
10L), class = "data.frame", .Names = c("data_month", "ttl_cust",
"maintain_cust"))
你能请使用'dput(cust_new)'并将结果粘贴到您的问题中,以便我们可以重现您的结果? – G5W
你的'cor_result'函数中根本不使用'x'和'y'。 –
我使用x和yx = as.numeric(数据$ x)/as.numeric(数据$ y), y = as.numeric(数据$ y), – shan