je l'extrait suivant de mon jeu de données:Sélectionnez plusieurs lignes en fonction des conditions dans R
extract[989:993, ]
# A tibble: 5 x 2
Dates `Rating agency`
<dttm> <chr>
1 2014-07-11 NA
2 2014-07-14 NA
3 2014-07-15 DBRS
4 2014-07-16 NA
5 2014-07-17 NA
je voudrais sélectionner les intervalles [-1: 1], ce qui correspond à la veille et le lendemain une rétrogradation. A la ligne où la colonne "Agence de notation" n'est pas "NA" indique qu'un déclassement s'est produit. Dans mon exemple ci-dessus, les lignes [990: 992].
Mon jeu de données a 45276 entrées avec 536 déclassements (colonne "Agence de notation" n'est pas "NA") où je voudrais construire une liste contenant les 3 lignes où une rétrogradation est entre comme ceci pour tout mon jeu de données:
extract[990:992, ]
# A tibble: 3 x 2
Dates `Rating agency`
<dttm> <chr>
1 2014-07-14 NA
2 2014-07-15 DBRS
3 2014-07-16 NA
Je l'ai essayé avec cette commande:
interval1 <- basisanddowngradessingledates[`Rating agency` != "NA", c(-1:1), ]
ce qui a donné lieu à cette erreur:
Error in x[j] : only 0's may be mixed with negative subscripts
Qu'est-ce que je fais mal?
Le second a travaillé, mais je devais changer votre == « NA » à! =, Car je veux que les dates de déclassement et non ceux où aucune dégradation survenue. Sinon excellent, merci beaucoup. – rbonac
Bonne prise. Vous avez oublié que vous vouliez le '! =' – CPak