Comment puis-je tracer une récurrence dans R. Toute solution avec plot de base, ggplot2, treillis ou un package dédié est la bienvenue.Comment tracer des récurrences dans R
Par exemple:
Imaginez que j'ai ces données:
mydata <- data.frame(t=1:10, Y=runif(10))
t Y
1 0.3744869
2 0.6314202
3 0.3900789
4 0.6896278
5 0.6894134
6 0.5549006
7 0.4296244
8 0.4527201
9 0.3064433
10 0.5783539
je pourrais le transformer comme ceci:
mydata2 <- data.frame(t=c(NA,mydata$t),Y=c(NA,mydata$Y),Y2=c(mydata$Y, NA))
t Y Y2
NA NA 0.9103703
1 0.9103703 0.1426041
2 0.1426041 0.4150476
3 0.4150476 0.2109258
4 0.2109258 0.4287504
5 0.4287504 0.1326900
6 0.1326900 0.4600964
7 0.4600964 0.9429571
8 0.9429571 0.7619739
9 0.7619739 0.9329098
10 0.9329098 NA
(ou méthodes similaires, mais je peux avoir des problèmes avec manque données) Et le tracer
plot(Y2~Y, data=mydata2)
Je suppose que je dois utiliser une fonction de regroupement comme ave ou appliquer. Mais ce n'est pas une solution élégante, et si j'ai plus de colonnes, il peut devenir difficile de généraliser la transformation.
Par exemple
mydata3 <- data.frame(x=sample(10,100, replace=T),t=1:100, Y=2*runif(100)+1)
Pour chaque x (ou une combinaison de valeurs sur d'autres colonnes) Je veux tracer Y_{i+1} ~ Y_i,
sur la même parcelle.
D'autres outils, tels que Mathematica ont des fonctions pour tracer des séquences directement.
Vous recherchez la fonction 'lag'? – cory
lagging est ce que j'ai fait manuellement, mais comme je l'ai dit je cherche quelque chose de plus direct qui pourrait fonctionner même avec plus de colonnes (par groupes). Et les valeurs manquantes ne produiront pas le résultat attendu. – skan