Iterowanie po wierszach ramki danych
Wyobraź sobie, że interesują cię dni, w których cena akcji Apple przekracza 117. Jeśli cena wzrośnie powyżej tej wartości, chcesz wypisać aktualną datę i cenę akcji. Jeśli masz ramkę danych stock z kolumnami date i apple, możesz iterować po wierszach tej ramki, aby to osiągnąć. Jak najbardziej!
Zanim to zrobisz, pamiętaj, że liczbę wierszy w ramce danych możesz uzyskać za pomocą nrow(stock). Następnie możesz utworzyć sekwencję do iteracji: 1:nrow(stock).
for (row in 1:nrow(stock)) {
price <- stock[row, "apple"]
date <- stock[row, "date"]
if(price > 117) {
print(paste("On", date,
"the stock price was", price))
}
}
[1] "On 2016-12-21 the stock price was 117.06"
[1] "On 2016-12-27 the stock price was 117.26"
To rozwiązanie łączy wiele rzeczy, których się do tej pory nauczyłeś: instrukcje warunkowe, indeksowanie wektorów, operatory porównania i pętle! Świetna robota!
Ramka danych stocks jest dostępna do użycia.
To ćwiczenie jest częścią kursu
R dla finansów – poziom średnio zaawansowany
Instrukcje do ćwiczenia
- Uzupełnij luki w pętli for, tak aby:
priceprzechowywało cenę z danej iteracji,dateprzechowywało datę z danej iteracji,- tym razem sprawdzało, czy
appleprzekracza116, - jeśli tak – wypisało
dateiprice, - jeśli nie – wypisało
datei informację, że nie był to ważny dzień!
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Loop over stock rows
for (row in 1:___) {
price <- stock[___, "___"]
date <- stock[___, "___"]
if(___ > ___) {
print(paste("On", ___,
"the stock price was", ___))
} else {
print(paste("The date:", ___,
"is not an important day!"))
}
}