Nicht wirklich sicher, wie Sie das herausfinden können.Verschieben einer Faktorvariablen um eine Zeile relativ zu einer anderen
Hier ist ein Beispieldatensatz:
Bob <- sample("Bob", 6, replace = T)
Jeff <- sample("Jeff", 6, replace = T)
Carl <- sample("Carl", 6, replace = T)
Name <- array(c(Bob, Jeff, Carl), dim = c(18,1))
Week <- c("Week 1", "Week 2", "Week 3", "Week 4", "Week 5", "Week 6",
"Week 1", "Week 2", "Week 3", "Week 4", "Week 5", "Week 6",
"Week 1", "Week 2", "Week 3", "Week 4", "Week 5", "Week 6")
variable.1 <- c("No", "No", "No", "Yes", "No", "No",
"Yes", "No", "No", "No", "Yes", "No",
"No", "Yes", "No", "No", "No", "Yes")
df <- data.frame(Name, Week, variable.1)
df
Name Week variable.1
1 Bob Week 1 No
2 Bob Week 2 No
3 Bob Week 3 No
4 Bob Week 4 Yes
5 Bob Week 5 No
6 Bob Week 6 No
7 Jeff Week 1 Yes
8 Jeff Week 2 No
9 Jeff Week 3 No
10 Jeff Week 4 No
11 Jeff Week 5 Yes
12 Jeff Week 6 No
13 Carl Week 1 No
14 Carl Week 2 Yes
15 Carl Week 3 No
16 Carl Week 4 No
17 Carl Week 5 No
18 Carl Week 6 Yes
Was ich versuche, jeden „Ja“ in der variable.1 Spalte auf eine Reihe zu tun ist, zu bewegen, so dass es für als Faktor Variable widerspiegeln die Informationen in der Woche zuvor. Ich versuche dies durch den einzelnen (nicht den Datensatz als Ganzes) zu tun. Ich kann den besten Weg nicht herausfinden, wenn beide Variablen Faktoren sind. Im Idealfall möchte ich, dass ein NA erscheint. Ich will nicht, dass alles einfach nach oben geht. Ich möchte nur, dass ein NA an der Stelle erscheint, an der das "Ja" war, und es das "Nein" über ihm überschreiben lässt.
Also, ich würde im Idealfall wie das fertige Produkt wie "New.Col" weiter unten loo:
Name Week variable.1 New.Col
1 Bob Week 1 No No
2 Bob Week 2 No No
3 Bob Week 3 No Yes
4 Bob Week 4 Yes NA
5 Bob Week 5 No No
6 Bob Week 6 No No
7 Jeff Week 1 Yes NA
8 Jeff Week 2 No No
9 Jeff Week 3 No No
10 Jeff Week 4 No Yes
11 Jeff Week 5 Yes NA
12 Jeff Week 6 No No
13 Carl Week 1 No Yes
14 Carl Week 2 Yes NA
15 Carl Week 3 No No
16 Carl Week 4 No No
17 Carl Week 5 No Yes
18 Carl Week 6 Yes NA
machen Was Möchtest du für Situationen wie (Jeff, Woche 1, Ja) eintreten? –
Ah, gute Frage. Entschuldige, dass ich nicht gesagt habe. Wird meinen Beitrag aktualisieren. Im Idealfall möchte ich, dass ein NA erscheint. Ich will nicht, dass alles einfach nach oben geht. Ich möchte nur, dass ein NA an der Stelle erscheint, an der das "Ja" war, und es das "Nein" über ihm überschreiben lässt. – user3585829
Ich bin immer noch ein wenig verwirrt. Können Sie angeben, wie die neue Spalte für dieses Beispiel aussehen soll? –