Hallo liebe Community,
ich soll einen chi-square test mit folgenden Daten aus einem Korpus durchführen, bekomme allerdings 2 unterschiedliche Ergebnisse:
male female
possibly 8 3 (male 8 occurences, female 3 occurences of "possibly" etc.)
likely 11 2
probably 16 1
maybe 10 13
sometimes 13 10
seems 15 8
seem 13 10
often 24 14
might 34 18
perhaps 51 27
think 460 205
Es soll festgestellt werden, ob ein signifikanter Unterschied in der Verwendung von "hedging words" (possibly, likely etc.) zwischen Männern und Frauen besteht.
Skript, welches uns zur Verfügung gestellt wurde:
#Importing and exploring a data table
#replace backslash "\" with two backslashes "\\" in Windows
data <- read.table(choose.files())
#to see the loaded table excecute the following line
#or click on the right on the table symbol in the "Environment" tab
#where a new tab will open
data
#delete "total" column
#use the subset function
data <- subset(data, select=-c(total))
#swap table
t(data)
#inspect structure of the table
#gives insights into the observations (= rows) and variables (= columns)
str(data)
#more statistics on the data
#interesting for integer fields
#gives insights on basic statistics such as mean, median, min and max and inter quartile ranges
#mean = average over all numbers, e.g. 8 + 7 + 3 + 9 + 11 + 4 = 42 ?????? 6 = Mean of 7.0
#median = 50% = middle number in list, e.g. 2 5 7 8 11 "14" 18 21 22 25 29
#min = lowest number, e.g. "2" 5 7 8 11 14 18 21 22 25 29
#max = highest number, e.g. 2 5 7 8 11 14 18 21 22 25 "29"
#1st Quartile = 25%
#3rd Quartile = 75%
summary(data)
#In case more information is needed you can add a column
data$corpus <- "dascitex"
data
#or delete a column
data <- subset(data, select=-c(corpus))
data
#chisquare
chisq.test(data)
ERGEBNIS:
> #chisquare
> chisq.test(data)
Pearson's Chi-squared test
data: data
X-squared = 17.48, df = 10, p-value = 0.06439
Warnmeldung:
In chisq.test(data) : Chi-Quadrat-Approximation kann inkorrekt sein
_________
Bei diesem command wird ein anderes Ergebnis ausgeworfen:
chisq.test(data$male, data$female)
ERGEBNIS:
> chisq.test(data$male, data$female)
Pearson's Chi-squared test
data: data$male and data$female
X-squared = 99, df = 81, p-value = 0.08492
Warnmeldung:
In chisq.test(data$male, data$female) :
Chi-Quadrat-Approximation kann inkorrekt sein
Weiß jemand, warum 2 verschiedene p-values ausgegeben werden und wo der Fehler im Skript liegt?
Danke im Voraus!
2 Chi-square test Ergebnisse bei gleichem Datensatz
Re: 2 Chi-square test Ergebnisse bei gleichem Datensatz
Hi,
ein ganz schön langes Script habt Ihr da bekommen. Für das hier relevante ließe es sich wie folgt zusammenfassen:
Dabei wird der Funktion chisq.test als x eine sogenannte Kontingenztabelle übergeben, also Spalten und Reihen mit Zählwerten. Das steht so auch im Hilfetext zu der Funktion, den man mit help("chisq.test") in R aufrufen kann. Da steht dann:
Unterschiedliche Fragestellung, unterschiedliche Antworten.
LG,
Bernhard
ein ganz schön langes Script habt Ihr da bekommen. Für das hier relevante ließe es sich wie folgt zusammenfassen:
Code: Alles auswählen
hedge <- read.table(header = TRUE, text="word male female
possibly 8 3
likely 11 2
probably 16 1
maybe 10 13
sometimes 13 10
seems 15 8
seem 13 10
often 24 14
might 34 18
perhaps 51 27
think 460 205")
chisq.test(x = hedge[,2:3])
Da ist also nichts falsch im Skript.If x is a matrix with at least two rows and columns, it is taken as a two-dimensional contingency table: the entries of x must be non-negative integers.
Hier werden der Funktion nicht wenigstens zwei Reihen und Spalten als x übergeben sondern jeweils ein Vektor als x und ein Vektor als y und das fasst die Funktion als ganz andere Fragestellung auf. Steht ausführlich in help("chisq.test") direkt hinter dem Satz, den ich oben zitiert habe.Bei diesem command wird ein anderes Ergebnis ausgeworfen:
chisq.test(data$male, data$female)
Unterschiedliche Fragestellung, unterschiedliche Antworten.
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: 2 Chi-square test Ergebnisse bei gleichem Datensatz
Hallo Bernhard,
danke sehr für deine Hilfe und Erklärung! Ich werd's nachlesen![Smile :)](./images/smilies/icon_e_smile.gif)
danke sehr für deine Hilfe und Erklärung! Ich werd's nachlesen
![Smile :)](./images/smilies/icon_e_smile.gif)
Re: 2 Chi-square test Ergebnisse bei gleichem Datensatz
Wenn es sich dabei nicht erklärt, gerne nochmal nachfragen!
Ansonsten könnte man Deine Daten beispielsweise so umformen, um chisq.test auf die zweite Art und Weise richtig zu verwenden:
LG,
Bernhard
Ansonsten könnte man Deine Daten beispielsweise so umformen, um chisq.test auf die zweite Art und Weise richtig zu verwenden:
Code: Alles auswählen
# Deine Daten:
hedge <- read.table(header = TRUE, text="word male female
possibly 8 3
likely 11 2
probably 16 1
maybe 10 13
sometimes 13 10
seems 15 8
seem 13 10
often 24 14
might 34 18
perhaps 51 27
think 460 205")
# Die stellen wir mal etwas um:
male <- rep(hedge$word, hedge$male)
female <- rep(hedge$word, hedge$female)
gender <- c(rep("male", length(male)), rep("female", length(female)))
words <- c(male, female)
# Daten sehen jetzt so aus:
head(gender, 700)
head(words, 30)
#und jetzt können wir so rechnen:
chisq.test(gender, y = words)
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte