Beata
Ostrowska
Controller, Grupa
Azoty
Wojciech
Obłąk
Programista, Asseco
Poland
Temat: Pętla FOR
Dobrze zrobiłaś, jeszcze tylko wyświetl wektor y i wektor z.
#losowanie i zaokrąglenie
v4 <- rnorm(300,mean=100,sd=10)
v <- round(v4,0)
#deklaracja wektorów
y <- numeric(0) #wektor parzystych
z <- numeric(0) #wektor nieparzystych
#pętla odpowiednio uzupełniająca wektory elementami wektora v
for (i in 1:length(v)) {
if(v[i]%%2==0) {
y <- c(y,v[i])
} else {
z <- c(z,v[i])
}
i=i+1
}
#komunikat
cat("wylosowane liczby parzyste to: ",y)
cat("wylosowane liczby nieparzyste to: ",z)
do poczytania o pętlach:
strona( 53/45)
https://cran.r-project.org/doc/contrib/Biecek-R-basics.pdfTen post został edytowany przez Autora dnia 07.08.16 o godzinie 23:23
Beata
Ostrowska
Controller, Grupa
Azoty
Temat: Pętla FOR
Dziękuję pięknie za pomoc, już rozumiemTen post został edytowany przez Autora dnia 11.10.15 o godzinie 20:03Acg N. .
Temat: Pętla FOR
Cały czas porównywana jest jedna i ta sama wartość y, stąd pętla nieskończona. W pętli while trzeba samodzielnie zmieniać jej wartość. Jest to cena za większą elastyczność niż w pętli for.> y <- 1
> while( y < 10 ) {
+ print(y)
+ y <- y+2
+ }
[1] 1
[1] 3
[1] 5
[1] 7
[1] 9
Beata
Ostrowska
Controller, Grupa
Azoty
Temat: Pętla FOR
Chodzi o coś takiego., w dobrym kierunku zmierzam?while(y<v){print(y)
y<-v%%2}Ten post został edytowany przez Autora dnia 11.10.15 o godzinie 20:03
Acg N. .
Temat: Pętla FOR
Wojciech O.:
No niestety, ale pętla jest skonstruowana niepoprawnie. Zmienna "i" przybiera kolejne wartości ze zbioru v, nie jest zaś jego indeksem. Byłaby w konstrukcji: for(i in 1:length(v)) lub lepiej for(i in seq_len(length(v))) { ..... v[i] .....}
Porównaj: sort(c(y, z)) == sort(v)
Poprawnie:
v4 <- rnorm(300,mean=100,sd=10)
v <- round(v4,0)
y <- numeric(0) #wektor parzystych
z <- numeric(0) #wektor nieparzystych
#pętla odpowiednio uzupełniająca wektory elementami wektora v
for (i in v) {
if( i %% 2 == 0) {
y <- c(y, i)
} else {
z <- c(z, i)
}
}
Przy okazji - polecam nazywać opisowo zmienne. Za chwilę nikt nie będzie pamiętał, co to znaczy "x, y, z, v" itd.Ten post został edytowany przez Autora dnia 11.10.15 o godzinie 20:28
Acg N. .
Temat: Pętla FOR
Beata O.:> y<-v%%2}
Chodzi o coś takiego., w dobrym kierunku zmierzam?
while(y<v){print(y)
los <- rnorm(300,mean=100,sd=10)
zaokr_los <- round(los ,0)
parz <- numeric(0)
nieparz <- numeric(0)
i <- 1
while(i <= length(zaokr_los)) {
liczba <- zaokr_los[i]
if(liczba %% 2 == 0) {
parz <- c(parz, liczba)
} else {
nieparz <- c(nieparz, liczba)
}
i <- i+1
}
---
I po co ta zmiana zawartości wpisów w wątku?Ten post został edytowany przez Autora dnia 12.10.15 o godzinie 07:56
Podobne tematy
-
R » Pętla po wszystkich plikach w danym katalogu -
-
R » Używam RStudio w jaki sposób wyświetlać numer iteracji... -
-
R » "Using R for Biomedical Statistics" -
-
R » Jak wywołać pętlę for w głównym skrypcie bez tworzenia... -
-
R » ciekawostka : Julia - new language for technical computing -
-
R » Iteracja for (problem z zapisem wektora) -
-
R » QQPLOT for single parameter pareto -
-
R » pętla w data.table -
-
R » Pętla - zapis wyników iteracji do tabeli -
-
R » Pętla while - zapis wyników do wektora -
Następna dyskusja: