Das ist eine Anfängerfrage.Raise to power in R
Was ist der Unterschied zwischen
^
und**
? Zum Beispiel:2^10 [1] 1024 2 ** 10 [1] 1024
Gibt es eine Funktion wie
power(x,y)
?
Das ist eine Anfängerfrage.Raise to power in R
Was ist der Unterschied zwischen ^
und **
? Zum Beispiel:
2^10
[1] 1024
2 ** 10
[1] 1024
Gibt es eine Funktion wie power(x,y)
?
1: Kein Unterschied. Es wird beibehalten, damit der alte S-Code weiterhin funktioniert. Dies ist eine „Note“
2 in ?Math
dokumentiert: Ja: Aber Sie bereits wissen es:
`^`(x,y)
#[1] 1024
In R die mathematischen Operatoren funktioniert wirklich, dass der Parser übernimmt Argumente und Funktionsnamen Neuanordnung für Sie simulieren gewöhnliche mathematische Infixnotation. Auch dokumentiert unter ?Math
.
Edit: Lasst mich hinzufügen, dass das Wissen, wie R Infixoperatoren (dh zwei Argumentfunktionen) behandelt, sehr wichtig ist, um die Verwendung des grundlegenden Infix "[[" und "[" - Funktionen als (funktionale) zweite Argumente zu verstehen lapply
und sapply
:
> sapply(list(list(1,2,3), list(4,3,6)), "[[", 1)
[1] 1 4
> firsts <- function(lis) sapply(lis, "[[", 1)
> firsts(list(list(1,2,3), list(4,3,6)))
[1] 1 4
Wow, die Funktion mit Präfix-Notation ist eine kleine Überraschung! Vielen Dank! – Nick
Interessant, dass '\' ** ('2,10)' nicht funktioniert. – thelatemail
Stimme zu, das ist eine Überraschung. 'is.function (' '' ** '' '') # Fehler: Objekt '**' nicht gefunden '(es gab Backticks in diesen Klammern.) –
' '**'': '** ist in dem Parser ^' – rawr
übersetzt @rawr Danke. Ich hätte die ganze Seite der Dokumentation lesen sollen. Es heißt: '** wird im Parser in^übersetzt, aber das war viele Jahre lang undokumentiert. ... ' – Nick
Eingabe von' ** 'an der Befehlszeile gibt auch 'Fehler: unerwartet'^'in" ** "' – thelatemail