2014-03-19 3 views
0

이름이 포함 된 데이터 집합이 있습니다. 은 다음과 같습니다r에 특정 요소를 포함하는 행 인덱스 가져 오기

name1,name2 
name4 
name55,name25,name88 

나는 이름이 행을 갖는 열이있는 다른 데이터 집합을 가지고있다. 첫 번째 데이터 집합에있는 행의 인덱스를 찾고 싶습니다.

그래서

:

nameColumn 
name4 
name25 

인덱스 1과 2가 발견되어야한다. 나는 이것을 시험하고있다 :

which(mainDataset$namesColumn == namesDataset, arr.ind=TRUE) 

그러나 이것은 옳지 않다. 여기에 사용할 수있는 연산자가 있습니까?

도움말을 환영합니다.

+0

다음을 읽어보십시오. http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example 귀하는 귀하의 데이터 세트가 어떤 종류의 데이터 구조에 저장되어 있는지도 알려주지 않았습니다. –

+0

에 오신 것을 환영합니다. 'dput (your_data_set)'을 사용하여 여기에 데이터 집합의 예제를 제공하십시오. 그것이 @KarlForner가 옳다고 말하고 있습니다. 여기서 유용한 해결책을 제공하는 것이 도움이 될 것입니다. –

+0

왜 당신은 인덱스를 원하십니까? 'mainDataset [mainDataset $ namesColumn % in % namesDataset,] '과 같은 것은 mainDataset이 data.frame이고 namesDataset이 같은 유형 (즉, 문자)의 벡터 인 경우 작동해야합니다. –

답변

1

하여 두 개의 데이터 세트처럼 보이는 경우

namesDataset <- read.csv(text = "name1,name2 
name4 
name55,name25,name88", header = FALSE) 

mainDataset <- read.csv(text = "nameColumn 
name4 
name25") 

은 ... 다음과 같은 'namesDataset'에 'mainDataset'에서 벡터 'nameColumn'에있는 이름의 인덱스를 찾을 수 있습니다 :

which(mainDataset$nameColumn %in% unlist(namesDataset)) 
# [1] 1 2 
+0

unlist()가 문제를 해결했습니다. 고마워, 내가 어떻게 당신의 대답을 바로 확인할 수 있습니까? – user3046636

관련 문제