2017-01-23 3 views
-4

das macht mich buchstäblich verrückt. Ich habe diese Codezeile, die in R fein läuft:R Ausdruck Funktion mit weniger als oder gleich zu unterzeichnen

expression("" <= a) 

Dies gibt weniger als oder gleich 'a'.

Ich habe zwei Fragen, wie bekomme ich Fahrt des Raumes zwischen dem Symbol kleiner oder gleich und der Konstante 'a'? Und die zweite Frage ist, wie kann ich es so programmieren, dass 'a' auf den Wert gesetzt wird, der in der Variablen 'a' gespeichert ist?

Vielen Dank!

+1

Warum möchten Sie die Leerzeichen entfernen? R kümmert sich nicht um sie (obwohl für die Lesbarkeit, es hilft, wenn sie vorhanden sind). –

+1

Was bedeutet "wie programmiere ich es so, dass 'a' auf den Wert gesetzt wird, der in der Variablen 'a' gespeichert ist?" bedeuten? Willst du 'a =" a "'? Oder 'a = a'? – Spacedman

+1

Die Ausgabe Ihrer Ausdruckszeile ist das Ausdrucksobjekt. Wenn es in der Befehlszeile eingegeben wird, druckt es "Ausdruck (" "<= a)" ", was die Idee von R zum Ausdrucken von Ausdrücken ist. Ausdrücke sind Sprachobjekte und Leerzeichen werden gemäß den Regeln von R platziert. Was auch immer Sie hier versuchen, macht mit dem Ausgabeformat von ausdruck keinen Sinn. – Spacedman

Antwort

0

Eh, @Roland schlug mich dazu im Kommentarbereich. Hier ist der Beweis, dass bquote für Ihren Fall funktionieren sollte.

> a <- 1 
> eval(bquote("" <= a)) 
[1] TRUE 
> eval(expression("" <= a)) 
[1] TRUE 
Verwandte Themen