Ich verwende den folgenden Code in einer Schleife, ich repliziere nur den Teil, in dem ich das Problem habe. Der gesamte Code ist extrem lang und ich habe Teile entfernt, die dazwischen gut laufen diese Zeilen. Dies ist nur das Problem zu erklären:Alternative Funktion in r zuweisen
for (j in 1:2)
{
assign(paste("numeric_data",j,sep="_"),unique_id)
for (i in 1:2)
{
assign(paste("numeric_data",j,sep="_"),
merge(eval(as.symbol(paste("numeric_data",j,sep="_"))),
eval(as.symbol(paste("sd_1",i,sep="_"))),all.x = TRUE))
}
}
Das Problem, das ich bin vor, dass anstelle von assign im zweiten Schritt, ich verwenden möchte (eval + Paste)
for (j in 1:2)
{
assign(paste("numeric_data",j,sep="_"),unique_id)
for (i in 1:2)
{
eval(as.symbol((paste("numeric_data",j,sep="_"))))<-
merge(eval(as.symbol(paste("numeric_data",j,sep="_"))),
eval(as.symbol(paste("sd_1",i,sep="_"))),all.x = TRUE)
}
}
jedoch R tut nicht akzeptieren eval beim Zuweisen neuer Variablen. Ich schaute auf das Forum und überall wird vorgeschlagen, das Problem zu lösen. Wenn ich jedoch assign verwende, überschreibt die Schleife meine zuvor erzeugten "numeric_data", anstatt sie zu addieren, daher erhalte ich für nur einen Wert von i statt für beide Werte.
Ich bin mir nicht sicher, ob ich die Verwendung von 'eval'" normal "betrachten würde. – nrussell
Sicher, lassen Sie mich diese Bemerkung entfernen – Shaz
Sie müssen es nicht entfernen; was ich meinte war, warum willst du speziell 'eval' benutzen? – nrussell