2012-11-29 4 views
0

3 관측치 미만의 데이터 프레임에서 행을 제거하는 방법을 찾고 있습니다. 그 문제를 더 나은 방법으로 설명해 드리겠습니다. 6 개의 부수적 인 변수와 1 개의 종속 변수가있는 데이터 프레임이 있습니다. 내가 패 시팅을 사용하여 ggplot2에 밀도 플롯을 수행 할 때, 3 관측치 미만의 변수는 플롯되지 않습니다 (분명히). 3 개 미만의 관측으로 이러한 행을 삭제하는 방법을 찾고 있습니다.3 개 미만의 관측치로 r 테이블의 행 삭제

'data.frame': 432 obs. of 6 variables: 
$ ID  : Factor w/ 439 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10 ... 
$ Forno  : Factor w/ 8 levels "Micro","Macro",..: 1 1 1 6 6 6 4 4 4 5 ... 
$ Varieta: Factor w/ 11 levels "cc","dd",..: 11 11 11 6 6 6 1 1 1 6 ... 
$ Impiego: Factor w/ 5 levels "aperto","chiuso",..: 2 2 2 3 3 3 2 2 2 5 ... 
$ MediaL : num 60.7 58.9 60.5 55.9 56.1 ... 
$ MediaL.sd : num 4.81 4.79 4.84 5.27 5.64 ... 

ggplot 코드 : I 미만 3 개 관측의 모든 상호 작용을 제거 할 것

ggplot(d1,aes(MediaL))+geom_density(aes(fill=Varieta),colour=NA,alpha=0.5)+ 
    scale_fill_brewer(palette="Set1")+facet_grid(Forno~Impiego)+ 
    theme(axis.text.x=element_text(angle=90,hjust=1))+theme_mio +xlim(45,65)+ 
    stat_bin(geom="text",aes(y=0,label=..count..),size=2,binwidth=2) 

이 데이터의 예입니다.

답변

1

샘플 데이터의 실제 출력을 제공하는 것이 유용합니다. 입력하신 텍스트 대신 dput(yourObject)을 입력하시면됩니다. 그러나 아래의 동일한 기본 접근 방식이 matrix, data.frametable 데이터 구조와 동일하게 작동하는 것처럼 보입니다.

#Matrix 
x <- matrix(c(5,4,4,3,1,5,1,8,2), ncol = 3, byrow = TRUE) 
x[x < 3] <- NA 
#---- 
    [,1] [,2] [,3] 
[1,] 5 4 4 
[2,] 3 NA 5 
[3,] NA 8 NA 

#data.frame 
xd <- as.data.frame(matrix(c(5,4,4,3,1,5,1,8,2), ncol = 3, byrow = TRUE)) 
xd[xd < 3] <- NA 
#---- 
    V1 V2 V3 
1 5 4 4 
2 3 NA 5 
3 NA 8 NA 

#Table. Simulate some data first 
set.seed(1) 
samp <- data.frame(x1 = sample(c("acqua", "fango", "neve"), 20, TRUE), 
        x2 = sample(c("pippo", "pluto", "paperino"), 20, TRUE)) 
x2 <-table(samp) 
x2[x2 < 3] <- NA 
#---- 
     x2 
x1  paperino pippo pluto 
    acqua     3 
    fango  3    
    neve    3  3 

ggplot은 일반적으로 가장 많이 reshape2melt() 명령을 통해 달성 긴 형식으로 할 데이터를 좋아한다. 플로팅 코드를 제공하면 플롯하지 않으려는 데이터를 제거하는 더 좋은 방법이 될 수 있습니다.

+0

이제 ggplot 스크립트가 생겼습니다. 데이터 프레임에서 행을 제거하고 싶습니다. – Spigonico

+0

아직 재현 할 수있는 예제가 아닙니다. 플롯을 만들기 위해 사용하는 데이터를 추가해야합니다. 자세한 내용은이 질문을 참조하십시오 : http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example. 내 추측으로는 위와 코드를 함께 사용하여 2와 2를 넣을 수 있어야합니다. 그렇지 않은 경우 - 어디서 붙어 있는지에 대해 구체적인 질문을합니다. – Chase