2016-04-05 5 views
1

Ich muss die ausgeschlossenen Werte loswerden, wenn ich einen Datenrahmen Teilmenge. Das heißt, wenn ich die Zusammenfassung in dem Beispiel unten anrufe, sollte z nicht als unterscheidbarer Wert von `name2 erscheinen, und gibt es eine Möglichkeit, die ids bei 1 für die Teilmenge beginnen zu lassen?Subset und entfernen ausgeschlossene eindeutige Werte

bspframestring<-("id,name1,name2,v1,v2,v3,v4 
1,1,z,1,1,5,1 
2,2,z,0,1,8,1 
3,2,y,0,4,0,5 
4,1,y,5,3,4,4 
5,2,y,4,9,5,5") 

bspframe<-read.table(textConnection(bspframestring), 
        header=TRUE,sep=",",row.names="id") 

bspframesub<-subset(bspframe,name2=="y",select=c("name1","name2","v2")) 

summary(bspframesub) 

#  name1  name2  v2  
# Min. :1.000 y:3 Min. :3.000 
# 1st Qu.:1.500 z:0 1st Qu.:3.500 
# Median :2.000   Median :4.000 
# Mean :1.667   Mean :5.333 
# 3rd Qu.:2.000   3rd Qu.:6.500 
# Max. :2.000   Max. :9.000 

row.names(bspframesub) 

# [1] "3" "4" "5" 
+0

Welche Sprache ist das? Wenn Sie Ihre Frage mit der Sprache versehen, erhalten Sie vielleicht mehr Hilfe? –

+0

Sorry, erste Stackoverflow-Frage. Die Sprache ist R. –

Antwort

1

Try this:

summary(droplevels(bspframesub)) 

Und der Faktor-Ebene Konsolidierung dauerhaft zu machen, müssen Sie das Ergebnis zuzuweisen:

bspframesub <- droplevels(bspframesub) 

Es gibt auch eine rownames<- Funktion, die eine gegeben werden könnte 1:now(bspframesub) Argument. Sie können auch ein NULL-Argument angeben, das Ihnen die Standardwerte zurückgibt:

Verwandte Themen