[R] Selecting all values smaller than X in a dataframe

Vladimir Eremeev wl2776 at gmail.com
Mon Jun 11 14:35:38 CEST 2007



Christoph Scherber-2 wrote:
> 
> Dear R users,
> 
> I have a correlation matrix for a dataframe called "synth", for which I 
> now want to select only those cells that have correlations larger than 
> +/-0.6:
> 
> synth=data.frame(x=rnorm(10,1),y=rnorm(10,2),z=rnorm(10,0.5))
> 
> w=cor(synth,use="pairwise.complete.obs")
> w=as.data.frame(w)
> w[,sapply(w,abs(w),">",0.6)]
> 
> The problem is that using sapply with ">" or "<" doesn´t seem to work.
> 
> How could I solve this problem?
> 
> 

If you want to extract correlations with absolute value >0.6, then simply
use w[abs(w)>0.6]

Please, reread the help("sapply"). You give some extra arguments to this
function.
The first goes the vector, the second goes the function, and then -
additional arguments to the function.
Probably, you wanted w[sapply(abs(w),">",0.6)]
This gives the same result.

-- 
View this message in context: http://www.nabble.com/Selecting-all-values-smaller-than-X-in-a-dataframe-tf3901238.html#a11059804
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list