Hi: Use replace():
replace(initial, initial < 5, 0) sample1 sample2 sample3 1900 0 8 0 1901 5 6 5 1902 0 0 0 1903 8 0 0 1904 0 7 0 1905 0 5 6 replace(initial, initial >= 5, 0) sample1 sample2 sample3 1900 1 0 4 1901 0 0 0 1902 4 4 3 1903 0 2 2 1904 4 0 4 1905 4 0 0 HTH, Dennis On Sat, Aug 13, 2011 at 6:02 PM, andrewjt <atr...@mun.ca> wrote: > This is what I am starting with: > > initial<- matrix(c(1,5,4,8,4,4,8,6,4,2,7,5,4,5,3,2,4,6), nrow=6, > ncol=3,dimnames=list(c("1900","1901","1902","1903","1904","1905"), > c("sample1","sample2","sample3"))) > > And I need to apply a filter (in this case, any value <5) to give me one > dataframe with only the 'less than 5' values and with '0' place holders on > the values that don't meet this criteria. The second dataframe is the same > but for those values >=5. > > Should look like this: > less <- matrix(c(1,0,4,0,4,4,0,0,4,2,0,0,4,0,3,2,4,0), nrow=6, > ncol=3,dimnames=list(c("1900","1901","1902","1903","1904","1905"), > c("sample1","sample2","sample3"))) > more <- matrix(c(0,5,0,8,0,0,8,6,0,0,7,5,0,5,0,0,0,6), nrow=6, > ncol=3,dimnames=list(c("1900","1901","1902","1903","1904","1905"), > c("sample1","sample2","sample3"))) > > Any ideas? > > > > -- > View this message in context: > http://r.789695.n4.nabble.com/conditional-filter-resulting-in-2-new-dataframes-tp3742232p3742232.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. > ______________________________________________ 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.