Hier schaffen, ist eine Datenmenge aus, die die Anzahl der schwarzen Marmor 2) die Anzahl der weißen Marmor bestehen aus 1) und insgesamt Marmor 3)eine neue Variable durch Schleifen in R
white<- c(5, 6,3,5, 9)
black<- c(1, 3,7,5,2)
total<- c(6,9,10,10,11)
data<- data.frame(white, black, total)
Wenn ich wollte mache eine Schleife, die zwei neue Variablen prowhite erzeugt, was weiß/total und perblack ist, was schwarz/total ist, was müsste ich tun?
Hier ist, was ich
variables<- list("white","black")
newnames<- list("perwhite", "perblack")
for (i in 1:2) {
data$newnames[i]<- data[,variables[[i]]]/data$total
}
bisher versucht habe, ich glaube, das Problem in der aktuellen Syntax der ist, wenn ich eine neue Spalte im Datensatz zu erstellen versuchen.
Vielen Dank!
'Transformation (Daten, x = weiß/insgesamt, y = schwarz/total)' ist eine Möglichkeit. Um es programmatisch zu machen, yeah, eine Schleife ist in Ordnung oder 'data [, unlist (newnames)] <- lapply (Variablen, Funktion (x) Daten [[x]]/Daten $ total)' - einfach Vektoren nicht verwenden ' list() ', um übrigens Ihre beiden Objekte zu definieren. – Frank
Das eigentliche Problem ist, dass Sie 'x $ y [i] <-' versuchen, was keine gültige Syntax ist. Die rechte Seite von '$' kann nur einen nackten Namen als String enthalten. – Frank