Betrachten Sie den folgenden Datenrahmen:Erstellen Sie neue Spalt basierend auf Vorkommen von mindestens einer Variablen in anderer Spalte Gruppe
ID <- c(1,1,1,2,2,3,3,3,3)
A <- c("No","No","Yes","Yes","Yes","No","No","No","No")
B <- c("Yes","Yes","Yes","Yes","Yes","No","No","No","No")
df <- data.frame(ID,A,B)
Ich mag Spalte B schaffen, in dem das Auftreten von mindestens einem „Ja“ Spalte A führt nur zu "Ja" -Werten in Spalte B für jede separate ID. Ich habe die beiden folgenden Ansätze ausprobiert (ich glaube, ich fast da bin):
library(dplyr)
df <- df %>%
group_by(ID) %>%
mutate(B1=ifelse(A == "Yes", "Yes", "No")) # B1 is the new column for comparison
leider die gleiche Spalte als Nachricht
und
df2 <- transform(df, B1= ave(A, ID, FUN=function(x) x[A == "Yes"]))
ergibt einen Fehler gibt:
1: In x [...] < - m: Anzahl der zu ersetzenden Elemente ist kein Vielfaches der Ersatzlänge
Hilfe wäre sehr willkommen.
Können Sie mir ein Beispiel Ihrer gewünschten Ausgabe zeigen? –
Spalte B ist meine gewünschte Ausgabe – ykl