2016-09-19 4 views
1

Ich versuche zu zählen, wie oft sich Text in einer Spalte befindet und die which-Klausel verwendet. Also, wenn ich alle „Ja“ in Spalte A zählen müssen, wo Spalte B „Frankreich“ hatZählen in R Verwenden der Which-Anweisung

xx <- length(grep(da[which(da$fruit == "yes" & da$Q1 == "France")])) 

    Error in grep(da[which(da$fruit == "yes" & da$Q1 == "France")]) : 
    argument "x" is missing, with no default 

Jede Hilfe würde geschätzt.

Vielen Dank.

+1

Versuchen Sie 'xx <- length (was (da $ fruit == 'ja' & da $ Q1 == 'Frankreich'))' –

+2

Warum benutzen Sie 'grep'? Etwas wie 'length (was (da $ fruit ==" ja "& da $ Q1 ==" Frankreich "))' sollte funktionieren – Sotos

+5

'sum ((da $ fruit ==" ja ") & (da $ Q1 == "Frankreich")) ' – jogo

Antwort

1

Ihr, welche Aussage muss nicht grep

xx <- length(which(da$fruit=="yes" & da$Q1=="France")) 

ex.)

> da

fruit  Q1 
----------------- 
    no  France 
    no  Spain 
    yes  Spain 
    yes  USA 
    no  France 
    yes  France 
    no  USA 
    yes  France 

which(da$fruit=="yes" & da$Q1=="France")

Returns:

> [1] 6 8 

length(which(da$fruit=="yes" & da$Q1=="France"))

Returns:

> [1] 2 

die():https://stat.ethz.ch/R-manual/R-devel/library/base/html/which.html

Gibt die TRUE-Indizes des Objekts an, nach dem Sie suchen.

Länge():https://stat.ethz.ch/R-manual/R-devel/library/base/html/length.html

Werden Sie die Länge des Vektors der TRUE-Indizes geben. Daher wird die Anzahl der Elemente zurückgegeben, die den von Ihnen angegebenen Kriterien entsprechen.

Verwandte Themen