2016-04-22 3 views
0

Versuchen Sie, die Nummer 1 häufigsten Namen nach Rasse in einer Kohorte von Babys in NYC geboren, 2011. Dies ist, was der Datensatz aussieht wie:Drucken Sie den häufigsten (numerischen Wert) Namen (Zeichenkette) nach Rasse (Zeichenkette)

Baby Data

ich möchte (NM) für schwarze (ETHCTY = "BLACK NON HISPANIC") und weiß (ETHCTY = "WHITE NON HISPANIC") Untergruppen von der weiblichen Bevölkerung (GNDR = "FEMALE") die häufigste (RNK = "1") Namen anzuzeigen.

Ich habe die subset Funktion versucht. Hier ist der Code, den ich versucht:

subset(Baby.names.ethnicity.NYC, select = c(NM, subset=(RNK > 10))), + subset=c(ETHCTY == "WHITE NON HISPANIC" & ETHCTY == "BLACK NON HISPANIC" & GNDR == "FEMALE")

+0

Sieht aus, als ob Sie diesen logischen Ausdruck benötigen: 'data [with (Daten, ETHCTY% in% c (" WHITE NICHT HISPANIC "," BLACK NON HISPANIC ") & RNK == 1 & GNDR ==" FEMALE "), ] ' –

+0

Außerdem sollte in deinem Code' ETHCTY == "WHITE NON HISPANIC" & ETHCTY == "SCHWARZ NON HISPANIC" 'ETHTCTY ==" WHITE NON HISPANIC "| sein ETHCTY == "BLACK NON HISPANIC" 'weil Sie wollen entweder –

+0

Danke, @RichardScriven! –

Antwort

0

So etwas wie dies funktionieren sollte:

df <- Baby.names.ethnicity.NYC 
    top_name <- subset(df, df$GNDR=="FEMALE" & df$RNK == 1 & 
    (df$ETHCTY == "BLACK NON HISPANIC" | df$ETHCTY == "WHITE NON HISPANIC"))$NM 

ich mir die Freiheit nahm den Datenrahmen Namen zu verkürzen, die der Code gemacht aussehen weniger komplex.

Verwandte Themen