R: subset() returning different results for equivalent logical expressions -


while writing convenience functions subset(), ran strange situation using equivalent logical statements returns different subsets. so, example:

dat = data.frame(ttl.stims = c(4,4,8,8), change = c('big', 'small')) dat ttl.stims = 4  #logical statements equivalent dat$ttl.stims == 4 dat$ttl.stims == ttl.stims  #subset evaluates differently subset(dat, dat$ttl.stims == 4) subset(dat, dat$ttl.stims == ttl.stims) 

i've been working around doing:

index = dat$ttl.stims == ttl.stims subset(dat, index) 

but i'm curious why first 2 subsets don't produce identical results! ideas? thoughts? pontifications?

because inside call subset symbol ttl.stims gets interpreted in environment of dat, becomes (after interpretation) dat$ttl.stims. predict second call subset returns entire dataframe.


Comments

Popular posts from this blog

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -

php - Controller/JToolBar not working in Joomla 2.5 -