Jak wygenerować sekwencję liczb w postępie geometrycznym w R? na przykład potrzebuję wygenerować sekwencję: 1, 2,4,8,16,32 i tak dalej ... aż powiesz skończoną wartość?Liczby w postępie geometrycznym
Odpowiedz
Oto co zrobię:
geomSeries <- function(base, max) {
base^(0:floor(log(max, base)))
}
geomSeries(base=2, max=2000)
# [1] 1 2 4 8 16 32 64 128 256 512 1024
geomSeries(3, 100)
# [1] 1 3 9 27 81
dziękuję, możesz zobaczyć mój komentarz powyżej i powiedz mi, czy mogę napisać ten kod w taki sposób? Jestem początkującym i dlatego mam wiele wątpliwości :( – Maddy
Jaki jest twój ostateczny cel? Czy piszesz scenariusz, aby zrobić coś w R, a jeśli tak, to co próbujesz z tym zrobić? Jeśli jesteś nowy w R, małe badanie może pomóc dużo w średnim okresie. To pytanie ma wiele zasobów: http://stackoverflow.com/questions/192369/books-for-learning-the-r-language – SlowLearner
@Maddy - odpowiedź Josha brzmi: chcesz, abym się spodziewał. 'geomSeries (2,32)' jak opisano w jego odpowiedzi, da ci podstawową 2 progresję aż do maksymalnej wartości 32. – thelatemail
Dlaczego nie wystarczy wpisać 2^(0: n)? Na przykład. 2^(0: 5) spowoduje przejście od 1 do 32 i tak dalej. Capture the vector poprzez przypisanie do zmiennej tak: x < - 2^(0: 5)
kiedy chce sekwencję od powiedzmy 1 do 100, wzrastających od 10, i napisać: SEK (1, 100, według = 10). więc teraz chcę sekwencji od 1 do 1000, które wzrasta geometrycznie jak 1, następnie 2, następnie 4 i tak dalej. – Maddy
Coś takiego, aby uzyskać geometryczne postępy, które zawsze kończą się mniej niż podana liczba (w tym przypadku 1000): '2^(1: podłoga (log (1000,2)))' – thelatemail
Zaproponuj, żebyś spojrzał na ' seq() ', zgodnie z komentarzem baptysty powyżej. Wykonaj '?' I nazwę funkcji, aby uzyskać pomoc dotyczącą funkcji R, więc '? Seq'. W tym przypadku potrzebujesz czegoś takiego jak "seq (0, 10, by = 10)". Zauważ, że idzie od 0 do 100, a nie od 1 do 100, co nie jest serią regularnych odstępów. – SlowLearner
Można znaleźć żadnego warunku w geometryczny sekwencji tej funkcji matematycznej:
okresie = początek * stosunek ** (n-1)
Gdzie:
termin = termin w sekwencji, którą chcesz
start = pierwszy termin w sekwencji
stosunek = wspólna proporcja (tj. wielokrotność, która definiuje sekwencję) n = numer terminu w sekwencji, którą chcesz
Zapisanie funkcji w R, która zapewnia dowolny podzbiór sekwencji geometrycznej dla dowolnego początku i proporcji:
#begin = beginning of subset
#end = end of subset
geomSeq <- function(start,ratio,begin,end){
begin=begin-1
end=end-1
start*ratio**(begin:end)
}
geomSeq(1, 2, 1, 10)
# [1] 1 2 4 8 16 32 64 128 256 512
geomSeq(10,3,1,8)
# [1] 10 30 90 270 810 2430 7290 21870
geomSeq(10,3,4,8)
# [1] 270 810 2430 7290 21870
- 1. cURL - powiadom o postępie przesyłania
- 2. Choć licznik pętli zwiększenie „geometrycznym” pomimo stosowania ++
- 3. Uzyskiwanie wiadomości o postępie z podprocesu
- 4. Powiadomienie o postępie w WCF dla długotrwałych procesów - jak?
- 5. cURL: Jak wyświetlać informacje o postępie podczas przesyłania?
- 6. Przełącznik liczby w ciąg
- 7. Losowe liczby w zakresie
- 8. badanie liczby w pętli
- 9. Przyrost liczby w C#
- 10. Obserwowanie liczby w NSMutableArray
- 11. Dzielenie liczby w R
- 12. Pechowy Liczby
- 13. C Złożone liczby w C++?
- 14. Liczby z przecinkami w JavaScript
- 15. Zliczanie liczby słów w C#
- 16. Generowanie liczby losowej w zakresie?
- 17. Java: Format liczby w milionach
- 18. Jak sformatować liczby w JavaScript?
- 19. Znaczące liczby w module dziesiętnym
- 20. Ograniczanie liczby wierszy w textarea
- 21. Dzielenie liczby całkowitej w Pythonie?
- 22. Liczby losowe generowanie w PySpark
- 23. Określanie liczby parametrów w lambda
- 24. Porównaj liczby zmiennoprzecinkowe w Latex
- 25. Określanie liczby plików w katalogu
- 26. wysławianiu formatować liczby w Pythonie
- 27. Zmieniając znak liczby w PHP?
- 28. Swift Zmniejszenie liczby krotek w
- 29. Zliczanie liczby elementów w tablicy
- 30. Arytmetyka liczby zespolonej w Tcl?
'2^nast (0, 5, o = 1)' – baptiste