2016-05-14 12 views
0

Ich versuche, ein wenig mehr über R zu verstehen und kam in diesem wirklich gutes Drehbuch hier auf Kaggle: https://www.kaggle.com/msjgriffiths/d/kaggle/sf-salaries/explore-sf-salary-data/codeR: Erstellen Sie eine Liste von Funktionen aufruft

ich ein Anfänger in R bin und ich bin zu kämpfen einen Teil des Codes das Plakat verwendet zu verstehen, die im folgenden zusammengefasst:

data_csv <- read_csv("../Salaries.csv", na=c("Not Provided")) 
data <- data_csv 
glimpse(data_csv) 
non_numeric_vars <- names(data)[!sapply(data, is.numeric)] 
data %>% 
    select(one_of(non_numeric_vars)) %>% 
summarise_each(funs(unique_vars = length(unique(.)))) 

die Auswahl ich bin nicht verstehen ist die funs Funktion in dem obigen Code. Wenn ich die R docs für dplyr lese, sagt es, dass es eine Liste von Funktionen benötigt, die von den 3 Argumenten spezifiziert werden. Wo sind die drei Argumente oder ist es in diesem Thread What does %>% mean in R piped?

Auch ich habe versucht, die Dokumente für unique_vars zu finden, aber kam mit nichts. Ich bin mir nicht sicher, wo ich mehr über diese Variable lesen kann?

funs {dplyr} R Documentation Create a list of functions calls. 

Description 

funs provides a flexible way to generate a named list of functions for input to other functions like summarise_each. 

Usage 

funs(...) 

funs_(dots) Arguments 

dots,...  A list of functions specified by: Their name, "mean" The function itself, mean A call to the function with . as a dummy parameter, mean(., na.rm = TRUE) Examples 

funs(mean, "mean", mean(., na.rm = TRUE)) 

# Overide default names funs(m1 = mean, m2 = "mean", m3 = mean(., na.rm = TRUE)) 

# If you have function names in a vector, use funs_ fs <- c("min", "max") funs_(fs) 

Das Ergebnis nach seinem Code ausgeführt wird, unter - nicht sicher, wo die unique_vars Variable in seinen Ergebnissen kommt:

## Source: local data frame [1 x 6] 
## 
## EmployeeName JobTitle Benefits Notes Agency Status 
##   (int) (int) (int) (int) (int) (int) 
## 1  110811  2159 98648  1  1  3 
+0

'unique_vars' ist keine Funktion; Es ist ein Parametername, den der Programmierer für einen Wert erstellt. Der Programmierer erhält nur die Anzahl der eindeutigen Werte für jede kategoriale Variable. –

+0

@ 42, aber das Ergebnis zeigt keine Zeile, die unique_vars sagt, warum sollte man es benennen, wenn man es nirgendwo sehen kann? – Simon

Antwort

0

funs nicht 3 Argumente benötigt. In der Dokumentation, wo es heißt

Eine Liste von Funktionen, die durch: Ihr Name, "mean" Die Funktion selbst, bedeuten Ein Aufruf an die Funktion mit. als Dummy-Parameter, Mittelwert (., na.rm = TRUE)

Dies ist 3 verschiedene Möglichkeiten, um Ihre Argumente funs zu formatieren. Jedes Argument zu funs wird als eine Funktion interpretiert.

unique_vars = length(unique(.)) beschriftet die Ausgabe der Zusammenfassung von length(unique(.)) als eine Spalte namens "unique_vars".

Verwandte Themen