Ich habe eine Liste der Antworten auf 7 Fragen aus einer Umfrage, jede ihre eigene Spalte, und versuche, die Antwort innerhalb der ersten 6 zu finden, die am nächsten (numerisch) zum 7. ist. Einige werden nicht genau die gleichen sein, deshalb möchte ich eine neue Variable erstellen, die den Unterschied zwischen der nächsten Zahl in den ersten 6 und der 7. erzeugt. Das folgende Beispiel würde 0 ergeben.R Passende nächste Nummer aus den Spalten
s <- c(1,2,3,4,5,6,3)
s <- t(s)
s <- as.data.frame(s)
s
Jede Hilfe wird sehr geschätzt. Ich entschuldige mich dafür, dass ich keinen Code versucht habe, denn nichts, was ich versucht habe, ist tatsächlich nahe gekommen.
Vielen Dank, und Sie haben Recht, dass ich es verallgemeinerbar brauche. Mit einem Beispielcode habe ich diese Schleife ausprobiert und es werden nur die gleichen Ergebnisse für alle Zeilen erzeugt. s <- c (1,2,3,4,5,6,3) t <- c (1,2,3,4,5,6,7) p <- c (1,2, 3,4,5,6,2) s <- data.frame (s, t, p) k <- t (s) k <- as.data.frame (k) für (i in 1: 3) { k $ t <- which.min (abs (k [i, 1: 6] - k [i, 7])) } – dhrice
Bearbeitete die Antwort, um die von Ihnen bereitgestellte Schleife einzuschließen :-) – user2602640