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
Post a Comment