Débutant sous R (comme la majorité des personnes sur le forum je suppose) je sollicite votre aide.
Commençons par décrire les données dont je dispose : 3 fichiers .cvs :
- 1- "France " valeurs journalières. 2 colonnes : 1ère colonne date journalière au format %d/%m/%Y ; 2 ème colonne : valeurs numériques flottantes;
- 2- "Russie" valeurs horaires. 2 colonnes: 1ère colonne date horaire au format %d/%m/%Y %H:%M; 2 ème colonne : valeurs numériques flottantes;
- 3- "Belgique" valeurs horaires. 2 colonnes: 1ère colonne date horaire au format %d/%m/%Y %H:%M; 2 ème colonne : valeurs numériques flottantes;
- 1 - Pour la France : supérieur à 1800 du jour 1 au jour 3 OU supérieur à 1200 en gradient positif (valeur jour 1 < valeur jour 2 ...) sur 3 jours
- 2 - Pour la Russie : inférieur à 200 de t + 1 heure à t + 6 heures
- 3- Pour la Belgique : comprise entre 400 et 1100 de t + 1 heure à t + 10 heures
Je ne bloque que sur certains points. En effet concernant l'aspect temporelle (" exemple :jour 1 à jour 3") et le recoupement de l'ensemble de ces conditions (à faire plus tard !!).
L'idée pour déterminer si les conditions sont valables sur un temps donné est la suivante :
Code : Tout sélectionner
for (i in 1:length(France[,1])) {
if ((France [i,2] > 1800 & France [i + 1,2] > 1800 & France [i+2,2] > 1800) |(France [i,2] > 1200 & France [i+1,2] > France [i,2] & France [i+2,2] > France [i+1,2])){
a = a+1
}
}
Après cette exposé voici mes premières questions :
J'obtiens l'erreur suivante
Si je comprends bien, dans cette boucle à un certains moment il obtiens une valeur différente de TRUE et de FALSE (type #N/A) ? Comment gérer ce problème ?missing value where TRUE/FALSE needed
Il y a t-il un moyen plus sexy que celle longue boucle (en passant par les indices matricielles) ?
Retour à la ligne possible sous R ?
Merci d'avance et bonne journée.