我使用兩種不同的方式來使用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