Re: [R] find index in a list of list

2017-03-11 Thread ce

Thank you both, indeed combining two solutions fixed my problem :

> which(sapply(mylist, mycompare,find))
[1] 2

I admit list of lists is not the optimal design,  it's out of my control but is 
there is not much data in it, so performance is not an  issue.
For the sake of R's honour I didn't want to use "for loop".

ce


-Original Message-
From: "Jeff Newmiller" [jdnew...@dcn.davis.ca.us]
Date: 03/11/2017 11:23 AM
To: r-help@r-project.org, "ce" , "Rui Barradas" 

Subject: Re: [R] find index in a list of list

Since the offered solution already checks each top level element using the 
"identical" function, you just need a different comparison function, like 
perhaps:

mycompare <- function( x, y ) {
   identical( x[[ "a" ]], y[[ "a" ]] ) && identical( x[[ "b" ]], y[[ "b" ]] )
}

Note that your decision to store this data in a list of lists is making this 
search process much less computationally and syntactically efficient than it 
would be if you could fit your data into a data frame.
-- 
Sent from my phone. Please excuse my brevity.

On March 11, 2017 7:17:11 AM PST, ce  wrote:
>
>
>Sorry I rejoiced  too soon. In fact original list is more complex like
>:
>
>mylist <-
>list(list(a=10,b="x",c=1),list(a=11,b="y",c=2),list(a=12,b="z",c=5))
>
>and I still need to find index of where a = 11 and b = "y"  and I have
>no c value , 
>
>-Original Message-
>From: "ce" [zadi...@excite.com]
>Date: 03/11/2017 10:13 AM
>To: r-help@r-project.org, "Rui Barradas" 
>Subject: Re: [R] find index in a list of list
>
>
>Exactly. Thanks a lot, I was trying sapply with to result. 
>
>-Original Message-
>From: "Rui Barradas" [ruipbarra...@sapo.pt]
>Date: 03/11/2017 10:06 AM
>To: "ce" , r-help@r-project.org
>Subject: Re: [R] find index in a list of list
>
>Hello,
>
>Something like this?
>
>find <- list(a=11,b="y")
>which(sapply(mylist, identical, find))
>
>Hope this helps,
>
>Rui Barradas
>
>
>Em 11-03-2017 14:59, ce escreveu:
>> Hi all,
>>
>> I have a list of lists like this :
>>
>> mylist <- list(list(a=10,b="x"),list(a=11,b="y"),list(a=12,b="z"))
>>
>> I want to find the index of list in mylist where a = 11 and b  = "y" 
>, so I want to get 2 as a result
>>
>> Thanks in advance
>>
>> __
>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> 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 -- To UNSUBSCRIBE and more, see
>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 -- To UNSUBSCRIBE and more, see
>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 -- To UNSUBSCRIBE and more, see
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.


Re: [R] find index in a list of list

2017-03-11 Thread Jeff Newmiller
Since the offered solution already checks each top level element using the 
"identical" function, you just need a different comparison function, like 
perhaps:

mycompare <- function( x, y ) {
   identical( x[[ "a" ]], y[[ "a" ]] ) && identical( x[[ "b" ]], y[[ "b" ]] )
}

Note that your decision to store this data in a list of lists is making this 
search process much less computationally and syntactically efficient than it 
would be if you could fit your data into a data frame.
-- 
Sent from my phone. Please excuse my brevity.

On March 11, 2017 7:17:11 AM PST, ce  wrote:
>
>
>Sorry I rejoiced  too soon. In fact original list is more complex like
>:
>
>mylist <-
>list(list(a=10,b="x",c=1),list(a=11,b="y",c=2),list(a=12,b="z",c=5))
>
>and I still need to find index of where a = 11 and b = "y"  and I have
>no c value , 
>
>-----Original Message-----
>From: "ce" [zadi...@excite.com]
>Date: 03/11/2017 10:13 AM
>To: r-help@r-project.org, "Rui Barradas" 
>Subject: Re: [R] find index in a list of list
>
>
>Exactly. Thanks a lot, I was trying sapply with to result. 
>
>-Original Message-
>From: "Rui Barradas" [ruipbarra...@sapo.pt]
>Date: 03/11/2017 10:06 AM
>To: "ce" , r-help@r-project.org
>Subject: Re: [R] find index in a list of list
>
>Hello,
>
>Something like this?
>
>find <- list(a=11,b="y")
>which(sapply(mylist, identical, find))
>
>Hope this helps,
>
>Rui Barradas
>
>
>Em 11-03-2017 14:59, ce escreveu:
>> Hi all,
>>
>> I have a list of lists like this :
>>
>> mylist <- list(list(a=10,b="x"),list(a=11,b="y"),list(a=12,b="z"))
>>
>> I want to find the index of list in mylist where a = 11 and b  = "y" 
>, so I want to get 2 as a result
>>
>> Thanks in advance
>>
>> __
>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> 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 -- To UNSUBSCRIBE and more, see
>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 -- To UNSUBSCRIBE and more, see
>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 -- To UNSUBSCRIBE and more, see
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.


Re: [R] find index in a list of list

2017-03-11 Thread ce


Sorry I rejoiced  too soon. In fact original list is more complex like :

mylist <- list(list(a=10,b="x",c=1),list(a=11,b="y",c=2),list(a=12,b="z",c=5))

and I still need to find index of where a = 11 and b = "y"  and I have no c 
value , 

-Original Message-
From: "ce" [zadi...@excite.com]
Date: 03/11/2017 10:13 AM
To: r-help@r-project.org, "Rui Barradas" 
Subject: Re: [R] find index in a list of list


Exactly. Thanks a lot, I was trying sapply with to result. 

-Original Message-
From: "Rui Barradas" [ruipbarra...@sapo.pt]
Date: 03/11/2017 10:06 AM
To: "ce" , r-help@r-project.org
Subject: Re: [R] find index in a list of list

Hello,

Something like this?

find <- list(a=11,b="y")
which(sapply(mylist, identical, find))

Hope this helps,

Rui Barradas


Em 11-03-2017 14:59, ce escreveu:
> Hi all,
>
> I have a list of lists like this :
>
> mylist <- list(list(a=10,b="x"),list(a=11,b="y"),list(a=12,b="z"))
>
> I want to find the index of list in mylist where a = 11 and b  = "y"  , so I 
> want to get 2 as a result
>
> Thanks in advance
>
> __
> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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 -- To UNSUBSCRIBE and more, see
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 -- To UNSUBSCRIBE and more, see
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.


Re: [R] find index in a list of list

2017-03-11 Thread ce

Exactly. Thanks a lot, I was trying sapply with to result. 

-Original Message-
From: "Rui Barradas" [ruipbarra...@sapo.pt]
Date: 03/11/2017 10:06 AM
To: "ce" , r-help@r-project.org
Subject: Re: [R] find index in a list of list

Hello,

Something like this?

find <- list(a=11,b="y")
which(sapply(mylist, identical, find))

Hope this helps,

Rui Barradas


Em 11-03-2017 14:59, ce escreveu:
> Hi all,
>
> I have a list of lists like this :
>
> mylist <- list(list(a=10,b="x"),list(a=11,b="y"),list(a=12,b="z"))
>
> I want to find the index of list in mylist where a = 11 and b  = "y"  , so I 
> want to get 2 as a result
>
> Thanks in advance
>
> __
> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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 -- To UNSUBSCRIBE and more, see
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.


Re: [R] find index in a list of list

2017-03-11 Thread Rui Barradas

Hello,

Something like this?

find <- list(a=11,b="y")
which(sapply(mylist, identical, find))

Hope this helps,

Rui Barradas


Em 11-03-2017 14:59, ce escreveu:

Hi all,

I have a list of lists like this :

mylist <- list(list(a=10,b="x"),list(a=11,b="y"),list(a=12,b="z"))

I want to find the index of list in mylist where a = 11 and b  = "y"  , so I 
want to get 2 as a result

Thanks in advance

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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 -- To UNSUBSCRIBE and more, see
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.