2 Chi-square test Ergebnisse bei gleichem Datensatz

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
adambaum
Beiträge: 3
Registriert: Do Okt 12, 2023 1:10 pm

2 Chi-square test Ergebnisse bei gleichem Datensatz

Beitrag von adambaum »

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!
bigben
Beiträge: 2781
Registriert: Mi Okt 12, 2016 9:09 am

Re: 2 Chi-square test Ergebnisse bei gleichem Datensatz

Beitrag von bigben »

Hi,

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])
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:
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.
Da ist also nichts falsch im Skript.
Bei diesem command wird ein anderes Ergebnis ausgeworfen:
chisq.test(data$male, data$female)
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.

Unterschiedliche Fragestellung, unterschiedliche Antworten.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
adambaum
Beiträge: 3
Registriert: Do Okt 12, 2023 1:10 pm

Re: 2 Chi-square test Ergebnisse bei gleichem Datensatz

Beitrag von adambaum »

Hallo Bernhard,

danke sehr für deine Hilfe und Erklärung! Ich werd's nachlesen :)
bigben
Beiträge: 2781
Registriert: Mi Okt 12, 2016 9:09 am

Re: 2 Chi-square test Ergebnisse bei gleichem Datensatz

Beitrag von bigben »

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:

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)
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten