해당 행의 다른 데이터에 종속된 데이터로 채워지는 테이블에 새 열을 추가하는 방법을 알아내려고 합니다. 데이터 프레임에는 여러 가지 발효가 있습니다. 각각에는 공백 값이 있습니다. 처리 값에서 이를 뺄 수 있도록 새 열의 각 발효에서 빈 값을 갖고 싶습니다. 또한 새 열을 만드는 것보다 더 좋은 방법이 있다면 그것도 좋을 것입니다! 감사해요.
예시 데이터 구성:
| 발효 | 치료 | 값 | 발효 공백 값 |
| ㅏ | 1 | 98 | 6 |
| ㅏ | 2 | 73 | 6 |
| ㅏ | 공백 | 6 | 6 |
| 비 | 1 | 84 | 5 |
| 비 | 2 | 86 | 5 |
| 비 | 공백 | 5 | 5 |
처리 = 공백일 때의 "값"은 항상 처리가 공백이 아닐 때의 값보다 작습니까?그렇다면 치료별로 ColMin 기능을 사용하면 됩니다.그렇지 않은 경우 유사한 작업을 수행하는 다소 서투른 방법은 먼저 Treatment not equal to Blank = 1 및 Treatment = Blank를 0으로 만드는 열을 만든 다음 ColMin By 접근 방식을 사용하는 것입니다.
새 열이 아닌 경우 값은 어디에 있습니까?
다음은 새 열로 추가하는 방법 중 하나입니다.
Col Sum(If(:Treatment == "Blank", :Value, .), :Fermentation)
이 표현을 시도하면 다음과 같은 오류가 발생합니다.
'Col Sum', Col Sum/*###*/IF(:Treatment == "Blank", :Value,.):Fermentation) 액세스 또는 평가에서 숫자 열이 필요합니다.
"값" 열은 연속적인 숫자이므로 표현식의 어떤 부분이 마음에 들지 않는지 잘 모르겠습니다.
데이터 테이블의 값 열이 숫자(대부분 문자) 형식이 아닐 가능성이 높습니다.
다음은 작동하는 예제 테이블이 있는 스크립트입니다. 열과 해당 모델링 유형의 왼쪽을 보십시오. 값은 연속형입니다(JMP에서는 데이터 유형 = 문자, 모델링 유형 = 연속형을 가질 수 없습니다(모델링 유형에서 직접 볼 수 없는 숫자 명목을 가질 수 있습니다...). .
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(6),
Compress File When Saved(1),
New Column("Fermentation", Character, "Nominal", Set Values({"A", "A", "A", "B", "B", "B"})),
New Column("Treatment",
Character(16),
"Nominal",
Set Values({"1", "2", "Blank", "1", "2", "Blank"})
),
New Column("Value",
Numeric,
"Continuous",
Format("Best", 12),
Set Values([98, 73, 6, 84, 86, 5])
),
New Column("Fermentation Blank Value",
Numeric,
"Continuous",
Format("Best", 12),
Set Values([6, 6, 6, 5, 5, 5])
)
);
dt << New Column("Val", Numeric, Continuous, Formula(
Col Sum(If(:Treatment == "Blank", :Value, .), :Fermentation)
));
