2016-07-02 2 views
-3

나는 정수 벡터 목록을 가지고 있으며 주어진 정수를 포함하는 모든 벡터의 색인을 제공하는 함수를 갖고 싶습니다. 뭔가가 lapply(list,match(integer))입니다.R : 요소가 포함 된리스트의 모든 벡터 찾기

이 문법은이 구문이 두 변수 (예 : match)의 함수를 lapply에 넣는 올바른 방법이 아니라는 것입니다.

글을 쓰는 올바른 방법은 무엇입니까? 감사!

+2

재현 가능한 예를 얻을 수 있습니까? –

+0

그게 꼭 필요한가요? Imo는 이미 내 질문에 철저한 답변을 게시했습니다 (그리고 분명히 그 사람에게 불분명하지는 않았습니다). 그는 자신이 재현 할 수있는 모범을 포함하기 때문에 여기에 다시 쓰는 것이 나에게 의미가없는 것처럼 보입니다. 나는 그 질문이 꽤 기초적이었고 재현 가능한 예를 요구하지 않아야한다고 생각했다. – Trademark

답변

1

아주 가깝습니다.

myVectors <- sapply(1:length(myList), function(i) any(myList[[i]] == myValue)) 

이 목록의 요소 값 myValue이있는 나타냅니다 논리적 인 벡터를 반환 : 여기에 내가 무엇을 할 것이라고한다. 시타 이미 논리적 인 벡터가있을 때이 일반적으로 필요하지 않지만

myIndicies <- which(myVectors) 

:

당신이 가진 모든 인덱스를 검색 할 수 있습니다.

예를 들어, 다음과 새 목록에 원하는 벡터를 당길 수 :

myNewList <- myList[myVectors] 
예를 들어

, 당신과 벡터를 찾으려면이 목록에이 시도해 9 :

myList <- list(a=1:10, b=5:23, c=6, z=9:19) 
sapply(1:length(myList), function(i) any(myList[[i]] == 9)) 
[1] TRUE TRUE FALSE TRUE