[Rd] Cannot Change Function (PR#14041)

Stefan Evert stefan.evert at uos.de
Wed Nov 4 13:40:06 CET 2009


What makes you think this is a bug in R?

> Whenever I try changing a function, it keeps coming up with the same  
> error
> message.
>
> I have the function
> CN_state_log_sum=function(Tot_log_sum){ #estimate copy number state  
> for the log
  [...]
> }
>
> When I try to run it in the loop:
> for (j in 1:length(BB_mean_ref)){	# find copy number states (0 for  
> homozygous
> deletion, 1 for hemizygous deletion, 2 for neutral, 3 for single  
> amplification,
> 4 for multiple amplification)
> 	state_log_sum[j]=CN_state_log_sum(Tot_log_sum[j])
> 	state_sum_log[j]=CN_state_sum_log(Tot_sum_log[j])
> }
> I get the error message:
> Error in Im(Tot_sum_log) != 0 || Re(Tot_sum_log) <- 2 :
>  could not find function "||<-"

The error message indicates that the problem happens in the function  
CN_state_sum_log() rather than CN_state_log_sum(), so it's hardly  
surprising that changing the latter doesn't have any effect.

My guess: you've go a condition (Re(Tot_sum_log)<-2), which is  
mistaken for the assignment operator "<-" by the R parser. Adding some  
whitespace (Re(Tot_sum_log) < -2) should help both R and human readers  
to make sense of it.

Best,
Stefan



More information about the R-devel mailing list