Besoin d'aide avec la boucle ForSalut, j'ai une table comme celle-ci et ce que je veux faire, c'est:
-> Pour chaque ligne, effectuez un + -1 à X et + -1 à Y et prenez la médiane de ces quatre valeurs Age et enregistrez-la dans une nouvelle colonne. Puis-je avoir une aide s'il vous plait?
X Y Age
-1 2 27
2 -1 23
4 5 56
-7 -4 43
Re: Besoin d'aide avec la boucle ForMerci beaucoup, grande aide!
Re: Besoin d'aide avec la boucle ForVous trouverez ci-joint un exemple de tableau de données, avec les 4 nouvelles colonnes, avec leurs formules, et la colonne Médiane, avec sa formule. Vous trouverez ci-dessous un exemple des formules que j'ai placées dans la table de données. Ceci est la formule de la colonne X-1, Y
dt = Current Data Table();
TheRow = Row();
Xval = :X - 1;
Yval = :Y;
MyRows = dt << get rows where( :X == Xval & :Y == Yval );
If( N Rows( MyRows ) > 0,
TheResult = dt:Age[MyRows[1]]
);
Re: Besoin d'aide avec la boucle ForC'est exact, de cette façon, nous obtenons quatre valeurs d'âge différentes à partir des quatre combinaisons de coordonnées différentes.
Re: Besoin d'aide avec la boucle ForJe cherche des précisions supplémentaires. Pour un cas donné où X = 3 et Y = -1, recherchez-vous la valeur de la colonne Age, où X = X-1 et Y est inchangé: Utilisation de votre petit exemple de table
: Age ==> où (X == 2 et Y == - 1) ==> 23
Est-ce ce que vous recherchez?
Re: Besoin d'aide avec la boucle For @ rk1988 :
Désolé, vous ne suivez pas vraiment vos exigences ici. Si vous introduisez un biais dans les variables "X" et "Y" comme vous l'avez expliqué, les valeurs de la colonne "Âge" ne seront pas influencées. Age1 à Age4 et leur moyenne est fixée à moins que le biais ne soit introduit dans Age.
Et ce moyen peut être acquis par:
Col Mean(:Age) ;
Des excuses que je suis incapable de suivre, voudriez-vous démontrer manuellement ce que vous voulez dans une feuille Excel, alors peut-être est-ce plus clair.
Re: Besoin d'aide avec la boucle ForMerci pour votre réponse
Laissez-moi clarifier ...
Pour chaque rangée:
1. ajoutez 1 à X, allez maintenant à cette ligne avec les coordonnées (X + 1, Y) et prenez la valeur de l'âge -> c'est la variable Age1
2 soustraire 1 de X, allez maintenant à cette ligne avec les coordonnées (X-1, Y) et prenez la valeur de l'âge -> c'est la variable Age2
3 ajoutez 1 à Y, allez maintenant à cette ligne avec les coordonnées (X, Y + 1) et prenez la valeur de l'âge -> c'est la variable Age3
4 soustraire 1 de Y, allez maintenant à cette ligne avec les coordonnées (X, Y-1) et prenez la valeur de l'âge -> c'est la variable Age4
5 Calcule la médiane de Age1 ... 4 et économise cela dans une nouvelle colonne
Répétez les étapes pour chaque ligne ...
Re: Besoin d'aide avec la boucle For @ rk1988 :
Supposons que votre table s'appelle "dt"
Le code suivant doit ajouter et soustraire 1 à X et Y en tant que nouvelles colonnes.
dt << New Column("AddXBias",Numeric,Continuous,Formula(:X+1))
<< New Column("SubXBias",Numeric,Continuous,Formula(:X-1))
<< New Column("AddYBias",Numeric,Continuous,Formula(:Y+1))
<< New Column("SubYBias",Numeric,Continuous,Formula(:Y-1)); Maintenant, la question est quelle colonne vous voulez prendre la moyenne?
Si c'est juste la colonne d'age, cela devrait le faire
AgeMean = Col Mean(:Age);
S'il s'agit d'autres valeurs, veuillez indiquer clairement quelles valeurs et j'essaierai de vous aider.