누적되거나 고갈되는 데이터만 포함하도록 그래프에서 데이터를 필터링하는 방법을 찾고 있습니다. 이것의 간단한 버전은 누적 = 최종 시점에서의 농도 > 초기 시점에서의 농도(또는 고갈되는 경우 <)입니다. 그러나 최종 시점이 항상 동일하지 않다는 사실로 인해 약간 더 복잡해집니다. 일부 데이터 세트는 12일에 걸쳐 있을 수 있고 일부는 14일 등일 수 있습니다. 각 시점이 실제로 3일인 것도 일반적입니다. 복제하므로 물건이 축적되는지 고갈되는지 결정할 때 평균을 사용할 수 있는 것이 이상적일 것입니다(그렇지 않다면 별로 중요하지 않을 것입니다). 예를 들어 포함된 이미지에서 필터링하고 축적된 분석물에 대한 파란색 선만 표시하고 싶습니다. 시작하는 데 도움을 주시면 감사하겠습니다! 내 목표는 데이터 필터에 추가할 수 있는 "누적" 또는 "고갈" 출력이 있는 열을 만드는 것입니다. 미리 감사드립니다!
열 평균() 및 기타 유사한 Col 함수(Col Min, Col Max,...)가 도움이 될 수 있습니다. 정답을 나타내는 하나의 열로 예시 데이터를 제공할 수 있다면 예시 제공이 가능할 것입니다.
안녕하세요, 도움이 된다면 작업 중인 데이터 유형의 변환/간소화 버전을 첨부했습니다. 나는 Col 기능을 알고 있지만 작동하는 방식으로 여러 가지를 결합하는 데 어려움을 겪었습니다.
제공된 "정답" 열이 없었기 때문에 추측을 했습니다. 이 스크립트는 최종 열을 만드는 데 도움이 되는 수식 열을 만듭니다. 수식을 사용할 때 다른 옵션이 있거나 수식과 완전히 다른 방법을 사용할 수도 있습니다.
Names Default To Here(1);
dt = Open("$DOWNLOADS/Sample Data for JMP Forum.jmp");
dt << Sort(By(:Time), Order(Ascending), Replace Table); // to make this a bit simpler sort by :Time
// Assumption: Time and Analyte create a group
dt << New Column("Mean_TimeAnalyte", Numeric, Continuous, Formula(
Col Mean(:"Concentration (mM)"n, :Time, :Analyte)
));
// Assumption: We are looking for first and last average value for each Analyte
dt << New Column("FirstAnalyteValue", Numeric, Continuous, Formula(
Col Sum(
If(Row() == Col Min(Row(), :Analyte),
:Mean_TimeAnalyte
,
0
),
:Analyte
)
));
dt << New Column("LastAnalyteValue", Numeric, Continuous, Formula(
Col Sum(
If(Row() == Col Max(Row(), :Analyte),
:Mean_TimeAnalyte
,
0
),
:Analyte
)
));
dt << New Column("AnalyteStatus", Numeric, Continuous, Formula(
If(:LastAnalyteValue > :FirstAnalyteValue,
"Accumulating"
,
"Depleting"
);
));
gb = dt << Graph Builder(
Size(528, 492),
Show Control Panel(0),
Variables(
X(:Time),
Y(:"Concentration (mM)"n),
Group X(:AnalyteStatus),
Overlay(:Analyte)
),
Elements(
Points(X, Y, Legend(5), Summary Statistic("Mean")),
Line(X, Y, Legend(6))
),
Local Data Filter(Add Filter(columns(:AnalyteStatus)))
);

