ÎncepețiÎncepe gratuit

Valori logice și subset()

Iată o problemă interesantă. Știi deja cum să creezi vectori logici care îți arată când o anumită condiție este adevărată, dar poți filtra un data frame astfel încât să conțină doar rândurile unde acea condiție este îndeplinită?

Dacă ai urmat cursul Introducere în R pentru Finanțe, poate îți amintești de funcția subset(). Aceasta primește ca argumente un data frame (sau vector/matrice) și un vector logic care indică ce rânduri să returneze:

stocks
        date    ibm panera
1 2017-01-20 170.55 216.65
2 2017-01-23 171.03 216.06
3 2017-01-24 175.90 213.55
4 2017-01-25 178.29 212.22

subset(stocks, ibm < 175)
        date    ibm panera
1 2017-01-20 170.55 216.65
2 2017-01-23 171.03 216.06

Util, nu-i așa? Data frame-ul stocks este disponibil pentru a-l folosi.

Acest exercițiu face parte din cursul

R intermediar pentru finanțe

Vezi cursul

Instrucțiuni pentru exercițiu

  • Filtrează stocks pentru a include rândurile unde panera este mai mare decât 216.
  • Filtrează stocks pentru a extrage rândul unde date este egal cu "2017-01-23". Nu uita de as.Date()!
  • Filtrează stocks pentru a extrage rândurile unde ibm este mai mic decât 175 și panera este mai mic decât 216.50.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Panera range
___

# Specific date
___

# IBM and Panera joint range
___
Editează și rulează codul