Hi all-

this seems to be simple to figure out but since im new to writing functions
I dont know what is happening. Here is my code along with the error I am
receiving:

semivario=function(data,ids,times,resids){
id=unique(data$ids)
index=combinations(length(data$times[data$ids==id[1]]),2)
time=gamma=numeric(dim(index)[1])
for (j in 1:dim(index)[1]){

time[j]=abs(data$times[data$ids==id[1]][index[j,1]]-data$times[data$ids==id[1]][index[j,2]])

gamma[j]=.5*(data$resids[data$ids==id[1]][index[j,1]]-data$resids[data$ids==id[1]][index[j,2]])^2
}

for (i in id[-1]){
        index=combinations(length(data$times[data$ids==i]),2)
        time1=gamma1=numeric(dim(index)[1])
        for (j in 1:dim(index)[1]){
        
time1[j]=abs(data$times[data$ids==i][index[j,1]]-data$times[data$ids==i][index[j,2]])
        
gamma1[j]=.5*(data$resids[data$ids==i][index[j,1]]-data$resids[data$ids==i][index[j,2]])^2
        }
time=c(time,time1)
gamma=c(gamma,gamma1)
}
value=list(time=time,gamma=gamma)
return(value)
}

and I would run it as
semivario(data=hope,ids=id,times=sctime,resids=scResid)

What I want to do is everywhere we see the words data,ids,times,resids to be
replaced with, for example, hope,id,sctime,scResid. Think of macros in SAS
where we use the & before every macro input variable name. Im not sure if
this is how R handles function inputs.

Here is my error:
Error in combinations(length(data$times[data$ids == id[1]]), 2) : 
  bad value of n


Thanks

-- 
View this message in context: 
http://r.789695.n4.nabble.com/Pesky-homemade-function-code-tp2541597p2541597.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to