JSL 행의 값을 다음 행과 비교합니다.여보세요,
"FOR"및 "IF"를 사용하여 조건 열을 만들려고합니다.
이 테이블이 있고 "Con"열에 다음 행의 연령이 현재 행보다 낮은 지 여부를 나타내기를 원합니다. 예인 경우 "0"이 아닌 경우 "1"
| 이름 | 나이 | 범죄자 |
| 데이비드 | 23 | 0 |
| 바리 | 26 | 1 |
| 제임스 | 12 | 0 |
| Lora | 14 | 0 |
이것은 내가 가진 것입니다 : (작동하지 않음)
dt<< New Column( "Con", Formula( For( i = 1,i <= N Row( dt ), i++, If(:Age[i] >= :Age[i+1] , "0", "1", ))));
도움을 주시면 감사하겠습니다.
스크립팅Re : JSL 행의 값을 다음 행과 비교합니다.이것이 당신이 추구하는 것입니까?
New Table( "Ages",
Add Rows( 4 ),
New Column( "Age",
Numeric,
"Ordinal",
Format( "Best", 12 ),
Set Values( [23, 26, 12, 14] )
),
New Column( "Younger than Previous",
Numeric,
"Nominal",
Format( "Best", 12 ),
Formula( If( :Age < Lag( :Age, 1 ), 1, 0 ) ),
Value Labels( {0 = "No", 1 = "Yes"} ),
Use Value Labels( 1 ),
Set Display Width( 125 )
)
)Re : JSL 행의 값을 다음 행과 비교합니다.감사합니다. 작동 할 수 있지만 3 행 (James)을 "예"로 표시하고 2 행 (Bari)을 "예"로 표시하려고합니다.
다른 해결책이 있습니까?
Re : JSL 행의 값을 다음 행과 비교합니다.이를 수행하는 두 가지 방법 (Row () 및 Lag () :
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(4),
Compress File When Saved(1),
New Column("Name", Character, "Nominal", Set Values({"David", "Bari", "James", "Lora"})),
New Column("Age", Numeric, "Continuous", Format("Best", 12), Set Values([23, 26, 12, 14])),
New Column("Con", Numeric, "Continuous", Format("Best", 12), Set Values([0, 1, 0, 0]))
);
dt << New Column("Younger than Next_Row", Character, "Nominal",
Formula(If(:Age > :Age[Row() + 1], "Yes", "No")));
dt << New Column("Younger than Next_Lag", Character, "Nominal",
Formula(If(:Age > Lag(:Age, -1), "Yes", "No"))
);