Re : Formule à interpoler entre les colonnesCeci est un FYI.
Puisque vous utilisez JMP 14, vous trouverez ci-dessous la formule permettant d'obtenir les colonnes 2 à 13 dans un vecteur ligne. Notez l'accent grave, le symbole de transposition ou Transpose( Current Data Table()[ Row(), 2::13] ).
Current Data Table()[Row(), Index( 2, 13 )]`
J'ai essayé d'utiliser la variable de table qvec, mais la formule ne fonctionnait pas. Cependant, l'utilisation d'une colonne où toutes les valeurs étaient les quantiles a fonctionné. Le tableau est joint.
La colonne de formule avait une syntaxe différente dans l'affichage. En JSL, c'est Interpoler (T.Of.Interest, BPvec, Qvec)

-pour votre information-
Re : Formule à interpoler entre les colonnesJerry, c'est très cool.
Re : Formule à interpoler entre les colonnesMerci Jerry ! A bien fonctionné. De nombreuses personnes dans l'entreprise tireront parti des deux solutions pour ce poste.
Re : Formule à interpoler entre les colonnesMerci! A parfaitement fonctionné. J'utilise JMP Pro 14.
Re : Formule à interpoler entre les colonnesSalut @markschahl ,
Comme @gzmorgan0 dit, remodeler vos données vous donnera beaucoup plus de flexibilité avec vos options de visualisation. Cependant, puisque vous avez demandé comment le faire sans transformer la table de données, JMP 14 a une nouvelle option dans le tracé parallèle du générateur de graphes qui le fera.
Faites glisser vos colonnes %ile vers l'axe des x et sélectionnez l'élément Parallel Plot. Faites un clic droit sur l'axe des x et sélectionnez Combiner les échelles=>Fusion parallèle :

En ce qui concerne la formule de votre colonne %ile.Of.Interest, cela devrait fonctionner :
Interpoler(
:T.d'intérêt,
Tableau de données( "Interpolation de la courbe de distillation" )[Row(), Index( 2, 13 )],
[0,05, 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 95]
)
J'espère que cela t'aides.
Re : Formule à interpoler entre les colonnesVous n'avez pas mentionné la version de JMP que vous utilisez. JMP 14 autorise la syntaxe de script, que les versions antérieures n'autorisent pas. Ma suggestion utilisera JSL, au cas où vous utiliseriez une ancienne version de JMP.
À moins que vous ne créiez un graphique à partir de matrices, c'est-à-dire que vous dessiniez votre propre graphique, le tableau a besoin d'une structure différente, soit empilée, soit transposée.Le script ci-joint réorganise le tableau et crée quelques graphiques.J'espère que cela t'aides.
Voici le JSL pour interpoler
dt = Data Table( "Distillation Curve Interpolation" );
qofi = Column(dt, "%ile.Of.Interest" );
qvec = [.005, .05,.10, .20, .30, .40, .50, .60, .70, .80, .90, .95];
tofi = :Name("T.Of.Interest");
For( i=1, i <= nrow(dt), i++,
bpvec = dt[i,2::13];
qofi[i] = Round( interpolate(tofi, bpvec, qvec ), 3);
);
Formule à interpoler entre les colonnesSalut! J'ai reçu une demande d'un de nos utilisateurs du raffinage pour interpoler une courbe de distillation du brut. Quelques informations de fond :
Vidéo YouTube sur les parcelles de distillation
ASTM D7169
Le tableau de données comporte douze colonnes avec les points d'ébullition pour différents volumes%iles du brut. Je veux une formule qui interpolera à travers les colonnes pour calculer combien a un point d'ébullition inférieur à T.Of.Interest.
Je sais que la fonction Interpolate() fait cela. Je sais aussi que j'ai besoin d'un moyen d'obtenir les valeurs des colonnes %ile dans une liste, probablement en utilisant Get As Matrix(). Je dois encore m'aventurer dans la Matrice...
Interpolate( T.Of.Interest, [0.05, 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 95], [] );
Comment puis-je obtenir les valeurs de colonne dans une liste ?
Ou y a-t-il une meilleure façon de faire cela?
Sans transformer la table de données, existe-t-il un moyen de tracer la liste BP par rapport à la liste %ile ?
Merci!
Études de consommation et de marchéPersonnalisation de masse