Iterează prin rândurile unui data frame
Imaginează-ți că ești interesat de zilele în care prețul acțiunilor Apple depășește 117. Dacă prețul trece de această valoare, vrei să afișezi data curentă și prețul acțiunii. Dacă ai un data frame stock cu coloanele date și apple, ai putea parcurge rândurile data frame-ului pentru a realiza acest lucru? Bineînțeles că poți!
Înainte de asta, reține că poți obține numărul de rânduri din data frame folosind nrow(stock). Apoi, poți crea o secvență pentru a itera de la 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"
Acest exemplu combină mai multe lucruri pe care le-ai învățat până acum: instrucțiuni if, extragerea elementelor din vectori, condiții și bucle! Felicitări pentru tot ce ai acumulat!
Data frame-ul stocks este disponibil pentru a fi folosit.
Acest exercițiu face parte din cursul
R intermediar pentru finanțe
Instrucțiuni pentru exercițiu
- Completează spațiile libere din bucla for pentru ca următoarele condiții să fie îndeplinite:
pricetrebuie să rețină prețul din iterația curentădatetrebuie să rețină data din iterația curentă- De această dată, vrei să știi dacă
appledepășește116. - Dacă da, afișează
dateșiprice. - Dacă prețul a fost sub
116, afișeazădateși un mesaj care să indice că nu a fost o zi importantă!
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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!"))
}
}