To jest pytanie dla początkujących.Podnieś do władzy w R
Jaka jest różnica między
^
i**
? Na przykład:2^10 [1] 1024 2 ** 10 [1] 1024
Czy istnieje funkcja takie jak
power(x,y)
?
To jest pytanie dla początkujących.Podnieś do władzy w R
Jaka jest różnica między ^
i **
? Na przykład:
2^10
[1] 1024
2 ** 10
[1] 1024
Czy istnieje funkcja takie jak power(x,y)
?
1: Bez różnicy. Jest trzymany tak, aby stary kod S mógł nadal działać. To jest udokumentowane „Uwaga” w ?Math
2: Tak: Ale ty już o tym wiesz:
`^`(x,y)
#[1] 1024
W R operatory matematyczne są naprawdę działa, że parser dba o rozmieszczanie argumenty i nazwy funkcji dla możesz symulować zwykłą matematyczną notację infiksów. Również udokumentowane na ?Math
.
Edycja: Pozwolę sobie dodać, że wiedza jak R radzi sobie z operatorami infiksów (tj. Dwiema funkcjami argumentów) jest bardzo ważna dla zrozumienia użycia fundamentalnego infikssu "[[i inne funkcje jako argumenty funkcyjne lapply
i 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, funkcja z notacją prefiksu jest małą niespodzianką! Dziękuję Ci! – Nick
Interesujące, że '\' ** \ '(2,10)' nie działa. – thelatemail
Zgadzam się, to niespodzianka. 'is.function (' '' '' '' ') # Błąd: obiekt '**' not found' (w nawiasie znajdowały się numery wewnętrzne). –
' '**'': '** jest tłumaczone przez parser do ^' – rawr
@rawr dziękuję. Powinienem przeczytać całą stronę dokumentacji. Mówi: '** jest tłumaczone w parserze na ^, ale to było nieudokumentowane przez wiele lat. ... ' – Nick
Wprowadzenie' ** 'w linii poleceń daje również' Błąd: nieoczekiwany '^' w "**" ' – thelatemail