Vollständigkeit der Daten prüfen und in neuer Variable speichern

Allgemeine Statistik mit R, die Test-Methode ist noch nicht bekannt, ich habe noch keinen Plan!

Moderatoren: EDi, jogo

Antworten
kosa
Beiträge: 27
Registriert: Mo Sep 02, 2019 6:47 pm

Vollständigkeit der Daten prüfen und in neuer Variable speichern

Beitrag von kosa »

Hallo liebe Community,

ich habe noch eine weitere Frage zur Erstellung einer neuen Variable, die die Daten auf Vollständigkeit für jeden Teilnehmer prüft.
Durchgeführt wurde eine Befragung mit drei Messwiederholungen. Manche Personen haben allerdings nicht zu allen drei Messzeitpunkten teilgenommen (siehe Beispiel).
test<-data.frame(
"id" = c("A","A","A","B","B","C","C"),
"time" = c("1", "2","3","1", "2","2","3"))
Ich würde nun egrn eine neue Variable test$complete erstellen, die für jeden Teilnehmer (A, B oder C; abgespeichert in id) prüft, ob diese zu allen drei Messzeitpunkten teilgenommen wurde. Falls ja, soll das mit 1 kodoert werden, falls nein, dann mit 0. In dem vorliegenden Beispiel würde folgender Vektor entstehen: 1,1,1,0,0,0,0, da nur Teilnemer A zu allen drei Messzeitpunkten teilgenommen hat.

Man könnte zum Beispiel prüfen, ob drei Zeilen für den Teilnehmer vorhanden sind. Falls ja, dann 1. Falls nein, dann 0. Ich weiß nur nicht, wie man das programmiert.

Bin für jeden Hinweis dankbar. Danke und viele Grüße!
bigben
Beiträge: 2778
Registriert: Mi Okt 12, 2016 9:09 am

Re: Vollständigkeit der Daten prüfen und in neuer Variable speichern

Beitrag von bigben »

Hallo,

wenn Du einfach für jeden Teilnehmer wissen willst, ob drei Einträge vorhanden sind, ginge das hier:

Code: Alles auswählen

test<-data.frame(
  "id" = c("A","A","A","B","B","C","C"),
  "time" = c("1", "2","3","1", "2","2","3"))

tapply(test$time, test$id, \(x) length(x)==3)
## oder so:
by(test, test$id, \(x) nrow(x)==3)
Eine Variable, die das für jede Zeile anzeigt könnte man so konstruieren:

Code: Alles auswählen

apply(test, 1, \(l) sum(test$id == l["id"]) == 3 )
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten