Gundala Viswanath
2008-Sep-09 03:17 UTC
[R] Splitting Data Frame into Two Based on Source Array
Dear all, Suppose I have this data frame:> data_mainV1 V2 foo 13.1 bar 12.0 qux 10.4 cho 20.33 pox 8.21 And I want to split the data into two parts first part are the one contain in the source array:> src[1] "bar" "pox" and the other one the complement. In the end we hope to get this two dataframes:> data_child1V1 V2 bar 13.1 pox 8.21 and> data_child2_complementfoo 13.1 qux 10.4 cho 20.33 Is there a compact way to do it in R? - Gundala Viswanath Jakarta - Indonesia
Jorge Ivan Velez
2008-Sep-09 03:35 UTC
[R] Splitting Data Frame into Two Based on Source Array
Dear Gundala, Try this: # Data set data_main=read.table(textConnection("V1 V2 foo 13.1 bar 12.0 qux 10.4 cho 20.33 pox 8.21"),header=TRUE) attach(data_main) closeAllConnections() # Criteria src=c('bar','pox') # data_child1 data_main[V1%in%src,] # data_child2_complement data_main[!V1%in%src,] See ?"%in%" for more information. HTH, Jorge On Mon, Sep 8, 2008 at 11:17 PM, Gundala Viswanath <gundalav@gmail.com>wrote:> Dear all, > > Suppose I have this data frame: > > > > data_main > V1 V2 > foo 13.1 > bar 12.0 > qux 10.4 > cho 20.33 > pox 8.21 > > And I want to split the data into two parts > first part are the one contain in the source array: > > > src > [1] "bar" "pox" > > and the other one the complement. > > In the end we hope to get this two dataframes: > > > data_child1 > V1 V2 > bar 13.1 > pox 8.21 > > and > > > data_child2_complement > foo 13.1 > qux 10.4 > cho 20.33 > > Is there a compact way to do it in R? > > > > > - Gundala Viswanath > Jakarta - Indonesia > > ______________________________________________ > 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. >[[alternative HTML version deleted]]
Gabor Grothendieck
2008-Sep-09 04:05 UTC
[R] Splitting Data Frame into Two Based on Source Array
Try this which gives a list of two data frames: split(data_main, data_main$V1 %in% c("foo", "bar")) On Mon, Sep 8, 2008 at 11:17 PM, Gundala Viswanath <gundalav at gmail.com> wrote:> Dear all, > > Suppose I have this data frame: > > >> data_main > V1 V2 > foo 13.1 > bar 12.0 > qux 10.4 > cho 20.33 > pox 8.21 > > And I want to split the data into two parts > first part are the one contain in the source array: > >> src > [1] "bar" "pox" > > and the other one the complement. > > In the end we hope to get this two dataframes: > >> data_child1 > V1 V2 > bar 13.1 > pox 8.21 > > and > >> data_child2_complement > foo 13.1 > qux 10.4 > cho 20.33 > > Is there a compact way to do it in R? > > > > > - Gundala Viswanath > Jakarta - Indonesia > > ______________________________________________ > R-help at 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. >
Adam D. I. Kramer
2008-Sep-09 06:08 UTC
[R] Splitting Data Frame into Two Based on Source Array
data_main[ match(src,data_main$V1), ] and the compliment of src (call it srcc) data_main[ match(srcc,data_main$V1), ] ...this only works so long as there is only one occurrance of each item in V1 in V1. --Adam On Tue, 9 Sep 2008, Gundala Viswanath wrote:> Dear all, > > Suppose I have this data frame: > > >> data_main > V1 V2 > foo 13.1 > bar 12.0 > qux 10.4 > cho 20.33 > pox 8.21 > > And I want to split the data into two parts > first part are the one contain in the source array: > >> src > [1] "bar" "pox" > > and the other one the complement. > > In the end we hope to get this two dataframes: > >> data_child1 > V1 V2 > bar 13.1 > pox 8.21 > > and > >> data_child2_complement > foo 13.1 > qux 10.4 > cho 20.33 > > Is there a compact way to do it in R? > > > > > - Gundala Viswanath > Jakarta - Indonesia > > ______________________________________________ > R-help at 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. >