2017-07-29 6 views
0

Ich habe bisher nur R Kreuztabellen mit zwei qualitativen (kategorischen) Variablen gesehen. Ich würde gerne ein funktionierendes Beispiel für eine Kreuztabellen-Tabelle mit R für eine qualitative und eine quantitative Variable sehen. Zum Beispiel, wenn ich die Beziehung zwischen Quality Rating (gut, fair, schlecht) und Preis ($ 10 - $ 19, $ 20 - $ 29, $ 30 - $ 39) finden möchte, wie kann ich dies mit R erreichen? Jede Hilfe wäre willkommen.Kreuztabellen mit qualitativen und quantitativen Variablen in R

+0

Die Art und Weise, wie Sie den Preis in Kategorien dargestellt haben, könnten Sie kategorisch für eine Zusammenfassung der Kreuztabellen behandeln. –

+0

Danke Sal. Aber ich habe einen Datensatz mit zwei Spalten - Preis und Qualitätsbewertung. Der Preis ist quantitativ. Ich bin neu bei R und versuche zu sehen, wie ich die $ -Beträge gruppieren und eine Kreuztabelle erstellen kann. Jede Hilfe wäre willkommen. – stat77

Antwort

0

Auf jeden Fall nicht die glatte Option, sondern eine, die funktioniert ist

# Construct dataframe 
    quality <- rep(c("Good", "Fair", "Poor"),4) 
    price <- c(10,11,12,13,14,17,19,125,25,22,21,22) 
    price.cat <- rep(NA, length(price)) 
    data <- data.frame(quality, price, price.cat) 

    # Define new factor variable for certain price categories 
    for (i in 1:length(price.cat)){ 

    # Category 0$-19$ 
    if (data[i,"price"]<=19){ 
    data[i, "price.cat"] <- "0-19"} 

    # Category 20$-29$ 
    if (data[i,"price"]>=20 & data[i,"price"]<=29){ 
    data[i, "price.cat"] <- "20-29"} 

    # Category 30$-125$ 
    if (data[i,"price"]>=30 & data[i,"price"]<=125){ 
    data[i, "price.cat"] <- "30-125"} 
    } 

    # Crosstabulate 
    table(data$quality, data$price.cat) 

Durch den Code Einstellung Sie Ihre eigenen Kategorien einrichten können. Die Ausgabe wird wie folgt aussehen:

enter image description here

Ist das, was Sie wollen?

+0

Also hier ist der Trick, eine neue Spalte voller NAs zu erstellen, die dann in verschiedene Preiskategorien umkodiert werden. Diese neuen Kategorien werden dann mit Ihrer Bewertungsvariablen verglichen. –

+0

Löwe - danke für den detaillierten Code. Ja. Genau das habe ich gesucht. Danke für die Anzeige der Ausgabe. – stat77

+0

Schön das zu hören. Vergessen Sie nicht, die Antwort als richtig zu markieren. Dann werden andere Menschen Hilfe leichter finden! –

0

Wenn ich Ihre Frage verstehe, möchten Sie numerische Daten über Gruppen zusammenfassen.

Es gibt viele Möglichkeiten, dies in R zu tun, aber mein Favorit ist eine Funktion im FSA-Paket.

Weitere Beispiele finden Sie unter folgendem Link: R Handbook: Descriptive Statistics.

if(!require(FSA)){install.packages("FSA")} 

Price = c(10,11,12,13,14,17,19,125,25,22,21,22) 
Quality = rep(c("Good", "Fair", "Poor"),4) 

Quality = factor(Quality, 
       order = c("Poor", "Good", "Fair")) 

Data = data.frame(Price, Quality) 

library(FSA) 

Summarize(Price ~ Quality, 
      data=Data) 
Verwandte Themen