Ein Wert von einer Variable umbenennen

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

Moderatoren: EDi, jogo

Antworten
joml13
Beiträge: 3
Registriert: Do Sep 21, 2023 8:23 pm

Ein Wert von einer Variable umbenennen

Beitrag von joml13 »

Guten Abend,

bei der Datenerhebung ist Kommilitonen bei zwei Probanden ein Fehler unterlaufen. Die Studie ist eingeteilt in: Fragebogen und Laborexperiment.
D.h. Proband hat die Nummer 100. Die hat er dann im Fragebogen und im Laborexperiment, sodass man die Daten miteinander verknüpfen kann (es sollen Korrelationen gemacht werden).
Nun hat man 1. einem Probanden mit der Nummer 100 im Fragebogen die Nummer 202 im Laborexperiment zugeordnet und 2. gab es zwei Probanden mit der Nummer 200 im Fragebogen, wobei einer im Laborexperiment dann die Nummer 201 bekommen hat (Im Fragebogen gibt es eine so genannte CASE Zahl, mit derer identifiziert werden kann, welche 200er Nummer vom Fragebogen zu der 201 gehört.

Jetzt ist meine Frage: Mit welchem Befehl in R kann ich bei 1. die Nummer 100 in 202 umändern/umbenennen? Und bei 2. wie kann ich R klar machen, dass der Proband mit der Case Zahl X (weiß sie gerade nicht) die Probandennummer (die Variable heißt REF) 201 haben soll oder ist es besser den Befehl von 1. dann zu nehmen und zusätzlich R zu sagen, dass er die 200 in Zeile X zu 201 umbenennen soll? ist das überhaupt möglich?

Liebe Grüße
joml13
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Ein Wert von einer Variable umbenennen

Beitrag von jogo »

Hallo joml13,

Du kannst die Funktion edit() nutzen.
Das geht beispielsweise so:

Code: Alles auswählen

Daten <- cars
D <- edit(Daten)
D
Wenn man genau weiß, wo die Änderung stattfinden soll kann, der geänderte Wert auch direkt eingetragen werden, z.B.

Code: Alles auswählen

Daten[8, "speed"] <- 4242
Daten
Gruß, Jörg
bigben
Beiträge: 2781
Registriert: Mi Okt 12, 2016 9:09 am

Re: Ein Wert von einer Variable umbenennen

Beitrag von bigben »

Hallo joml13,

ich rate dazu, Funktionen wie edit() möglichst zu vermeiden, und alle Schritte die Du machst in einem Skript zu hinterlegen. So sind sie leicht nachvollziehbar, wenn man später neue Daten dazu bekommt oder aus anderen Gründen nochmal nachrechnen muss.

Ich würde daher Deine Schritte so angehen:

Code: Alles auswählen

# Erstmal Beispieldaten schaffen und anzeigen
labor <- data.frame(case = 232305:232315,
                    nummer  = 99:109,
                    value = round(rnorm(11),3))
head(labor)
#>     case nummer  value
#> 1 232305     99 -1.716
#> 2 232306    100 -0.354
#> 3 232307    101 -0.586
#> 4 232308    102  0.035
#> 5 232309    103  1.372
#> 6 232310    104 -0.393

# Benenne die Nummer 100 in 202 um
zeile <- which(labor$nummer == 100)
labor[zeile, "nummer"] <- 202

head(labor)
#>     case nummer  value
#> 1 232305     99 -1.716
#> 2 232306    202 -0.354
#> 3 232307    101 -0.586
#> 4 232308    102  0.035
#> 5 232309    103  1.372
#> 6 232310    104 -0.393

# Gebe dem case 232307 die Nummer 201

zeile <- which(labor$case == 232307)
labor[zeile, "nummer"] <- 201

head(labor)
#>     case nummer  value
#> 1 232305     99 -1.716
#> 2 232306    202 -0.354
#> 3 232307    201 -0.586
#> 4 232308    102  0.035
#> 5 232309    103  1.372
#> 6 232310    104 -0.393
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
joml13
Beiträge: 3
Registriert: Do Sep 21, 2023 8:23 pm

Re: Ein Wert von einer Variable umbenennen

Beitrag von joml13 »

Dankeschön!
Das hat super geklappt! Das war echt meine Rettung!

Liebe Grüße
joml13
bigben hat geschrieben: Fr Okt 06, 2023 1:46 pm Hallo joml13,

ich rate dazu, Funktionen wie edit() möglichst zu vermeiden, und alle Schritte die Du machst in einem Skript zu hinterlegen. So sind sie leicht nachvollziehbar, wenn man später neue Daten dazu bekommt oder aus anderen Gründen nochmal nachrechnen muss.

Ich würde daher Deine Schritte so angehen:

Code: Alles auswählen

# Erstmal Beispieldaten schaffen und anzeigen
labor <- data.frame(case = 232305:232315,
                    nummer  = 99:109,
                    value = round(rnorm(11),3))
head(labor)
#>     case nummer  value
#> 1 232305     99 -1.716
#> 2 232306    100 -0.354
#> 3 232307    101 -0.586
#> 4 232308    102  0.035
#> 5 232309    103  1.372
#> 6 232310    104 -0.393

# Benenne die Nummer 100 in 202 um
zeile <- which(labor$nummer == 100)
labor[zeile, "nummer"] <- 202

head(labor)
#>     case nummer  value
#> 1 232305     99 -1.716
#> 2 232306    202 -0.354
#> 3 232307    101 -0.586
#> 4 232308    102  0.035
#> 5 232309    103  1.372
#> 6 232310    104 -0.393

# Gebe dem case 232307 die Nummer 201

zeile <- which(labor$case == 232307)
labor[zeile, "nummer"] <- 201

head(labor)
#>     case nummer  value
#> 1 232305     99 -1.716
#> 2 232306    202 -0.354
#> 3 232307    201 -0.586
#> 4 232308    102  0.035
#> 5 232309    103  1.372
#> 6 232310    104 -0.393
LG,
Bernhard
Antworten