ID 열이있는 데이터 프레임 df
예 : A
, B
등이 있습니다. 또한 특정 ID가 포함 된 벡터를 가지고 있습니다 :벡터에서 데이터 프레임 필터링
L <- c("A", "B", "E")
어떻게 벡터에있는 ID 만 가져 오도록 데이터 프레임을 필터링 할 수 있습니까? 개별적으로 사용하겠습니다.
subset(df, ID == "A")
전체 벡터에서 어떻게 필터링합니까?
ID 열이있는 데이터 프레임 df
예 : A
, B
등이 있습니다. 또한 특정 ID가 포함 된 벡터를 가지고 있습니다 :벡터에서 데이터 프레임 필터링
L <- c("A", "B", "E")
어떻게 벡터에있는 ID 만 가져 오도록 데이터 프레임을 필터링 할 수 있습니까? 개별적으로 사용하겠습니다.
subset(df, ID == "A")
전체 벡터에서 어떻게 필터링합니까?
당신 N 잘라하는 것이 좋습니다 단지 것이다 곧 할 것입니다 정확한 응답 사람에서보다 더 배우게됩니다 %in%
연산자를 사용할 수 있습니다 : 귀하의 ID를 고유 경우
> df <- data.frame(id=c(LETTERS, LETTERS), x=1:52)
> L <- c("A","B","E")
> subset(df, id %in% L)
id x
1 A 1
2 B 2
5 E 5
27 A 27
28 B 28
31 E 31
을, 당신은 match()
사용할 수 있습니다
> df <- data.frame(id=c(LETTERS), x=1:26)
> df[match(L, df$id), ]
id x
1 A 1
2 B 2
5 E 5
또는 수 있도록 그들에게 행하여 dataframe 및 추출물의 rownames는 : 속도가 관심사 인 경우
> rownames(df) <- df$id
> df[L, ]
id x
A A 1
B B 2
E E 5
마지막으로, 고급 사용자를위한, 그리고, 나는 data.table
패키지에보고하는 것이 좋습니다 것입니다.
'일치'를 사용해야합니다. 한 벡터의 값을 다른 벡터의 값과 일치시키고 일치가없는 경우 NA를 제공합니다. 그러면 일치의! is.na를 기반으로 하위 집합을 구성합니다.
참조? 경기 당신은 아마 자신을 위해 운동 할 수있는 경우에 붙여 :
완성을 위해 :'df [id % in % L,]' – JaKu