Das ist wahrscheinlich so einfach, dass ich zusammenzucken werde, wenn die Antwort zurückkommt, aber ich bin völlig ratlos. Ich habe die Handbücher ausprobiert, habe versucht, das Internet zu durchsuchen, verschiedene Beispiele und alles, was mir einfällt. Ich bin immer noch fest.
Ich versuche, eine einfache Eingabe für den Benutzer zu erstellen, um zwei Werte hinzuzufügen, die ich dann im Rest des R-Skripts verwenden kann. Ich brauche das Skript, um zu pausieren und auf die Eingabe des Benutzers zu warten und dann weiterzumachen, sobald es die Eingabe erhalten hat (wie die Funktion zum Auswählen der Datei funktioniert). Nachdem ich eine Menge Sachen gelesen hatte, entschied ich mich für die Bibliothek (tcltk). Ich habe eine nette kleine Box innerhalb einer Funktion.
inputs <- function(){
xvar <- tclVar("")
yvar <- tclVar("")
tt <- tktoplevel()
tkwm.title(tt,"Input Numbers")
x.entry <- tkentry(tt, textvariable=xvar)
y.entry <- tkentry(tt, textvariable=yvar)
reset <- function()
{
tclvalue(xvar)<-""
tclvalue(yvar)<-""
}
reset.but <- tkbutton(tt, text="Reset", command=reset)
submit <- function() {
x <- as.numeric(tclvalue(xvar))
y <- as.numeric(tclvalue(yvar))
print(x)
print(y)
tkdestroy(tt)
}
submit.but <- tkbutton(tt, text="submit", command=submit)
tkgrid(tklabel(tt,text="Enter Two Inputs"),columnspan=2)
tkgrid(tklabel(tt,text="Input1"), x.entry, pady = 10, padx =10)
tkgrid(tklabel(tt,text="Input2"), y.entry, pady = 10, padx =10)
tkgrid(submit.but, reset.but)
}
Wenn ich eintippe:
inputs()
Die nette kleine Box erscheint und ich kann meine Werte eingeben, sagen wir 3 und 4 für dieses Beispiel.
Ich komme zurück
<Tcl>
[1] 3
[1] 4
Ich möchte diese Nummer in einem nachfolgenden Teil des R-Codes verwenden. Wie bekomme ich sie, damit ich das Äquivalent davon bekommen kann?
input1 <- 3
input2 <- 4
Vielen Dank im Voraus für die Hilfe.