-1
set.seed(3)
mydata <- data.frame(id = c(1:5),
score = c(rnorm(5, 0, 1)))
ids <- c(1, 2, 3, 3)
> subset(mydata, id %in% ids)
id score
1 1 -0.9619334
2 2 -0.2925257
3 3 0.2587882
의 중복 행 서브 세트를하는 방법에 대해 설명합니다. 캐치는 내 ids
에 번호 3을 두 번 반복한다는 의미입니다. 하지만 subset
은 유일한 행을 추출한 것 같습니다. 나는 연산자 %in%
으로 추측하고 있습니다. 그러나 원하는 출력은R : 내가 그 <code>id</code> 내 <code>ids</code> 일치하는지 <code>mydata</code> 등의 모든 행 서브 세트를하고 싶은 상황이 data.frame
> subset(mydata, id %in% ids)
id score
1 1 -0.9619334
2 2 -0.2925257
3 3 0.2587882
4 3 0.2587882
나는 또한 ==
연산자를 사용하려고했습니다. 그러나 그 트릭을하지 않는 것 같았다.
예제 데이터 프레임에는 중복 행이 포함되어 있지 않습니다. 당신의'ids'가 당신의'mydata'와 어떤 관계가 있다면 당신은 그것을 명확하게 할 필요가 있습니다. 그들은 같은 규칙을 가지고 있지 않습니다. 어떤 규칙에 따라 그들을 연관 시키시겠습니까? –
'mydata'에는 중복 행이 없습니다. 맞습니다. 나는 단지'data.frame'을'ids'에 대응하는 행으로 생성 할 수 있기를 원합니다. 그래서'ids '가'c (1, 1, 2, 2, 2)'라면 원하는'data.frame'은'mydata'의 첫 번째와 두 번째 행을 각각 3 번 반복해야합니다. – Adrian
그래서'ids'는'mydata'와 같은 길이입니까? 그렇다면 –