특정 문자열이 포함된 열 선택 및 삭제안녕하세요 jsl 여러분,
아래 내 코딩에 어떤 문제가 있는지 누군가가 의견을 말해줄 수 있나요? "Dummy"라는 문자열이 포함된 열을 찾아 삭제하려고 하는데 작동하지 않습니다. 도와주세요.
Names Default To Here( 1 );
dt = New Table( "Example",
Add Rows( 3 ),
New Column( "A_Dummy", Character, "Nominal", Set Values( {"xx", "yy", "zz"} ) ),
New Column( "B", Character, "Nominal", Set Values( {"a", "b", "c"} ) ),
New Column( "C_Dummy", Character, "Nominal", Set Values( {"l", "m", "n"} ) )
);
cols = dt << get column names( string );
If( Contains( cols, "Dummy" ),
dt << Select Columns();
dt << Delete Columns();
);
데이터 혼합 및 정리Re: 특정 문자열이 포함된 열을 선택하고 삭제하세요.효과가있다 ! 솔루션을 제공해 주셔서 감사합니다, Georg!Re: 특정 문자열이 포함된 열을 선택하고 삭제하세요.훌륭합니다. 완벽하게 작동합니다! 감사해요 !Re: 특정 문자열이 포함된 열을 선택하고 삭제하세요.안녕하세요 jthi, 도와주셔서 감사합니다. 나는 스크립트가 "Dummy" 문자열의 유무에 관계없이 실제로 모든 열을 삭제한다는 것을 발견했습니다. 어쨌든 Georg와 pauldeen은 이미 솔루션을 제공했습니다.Re: 특정 문자열이 포함된 열을 선택하고 삭제하세요.추가 목록 변수가 필요하지 않도록 약간 수정했습니다.
Names Default To Here( 1 );
dt = New Table( "Example",
Add Rows( 3 ),
New Column( "A_Dummy", Character, "Nominal", Set Values( {"xx", "yy", "zz"} ) ),
New Column( "B", Character, "Nominal", Set Values( {"a", "b", "c"} ) ),
New Column( "C_Dummy", Character, "Nominal", Set Values( {"l", "m", "n"} ) )
);
cols = dt << get column names( string );
For( i = N Items( cols ), i>=1, i--,
If( Contains( cols[i], "Dummy" ),
dt << Delete Columns( i );
)
);
Re: 특정 문자열이 포함된 열을 선택하고 삭제하세요.이는 귀하에게 적합하고 이해하기 쉬운 수정된 버전입니다.
문자열이 어디에 있는지 확인하려면 열에 대한 루프가 필요합니다.
선택 및 삭제 사용법이 올바르지 않습니다.
Names Default To Here( 1 );
dt = New Table( "Example",
Add Rows( 3 ),
New Column( "A_Dummy", Character, "Nominal", Set Values( {"xx", "yy", "zz"} ) ),
New Column( "B", Character, "Nominal", Set Values( {"a", "b", "c"} ) ),
New Column( "C_Dummy", Character, "Nominal", Set Values( {"l", "m", "n"} ) )
);
cols = dt << get column names( string );
delete_lst = {};
For( i = 1, i <= N Items( cols ), i++,
If( Contains( cols[i], "Dummy" ),
Insert Into( delete_lst, cols[i] )
)
);
dt << Delete Columns( delete_lst );Re: 특정 문자열이 포함된 열을 선택하고 삭제하세요.포함은 일치 항목의 첫 번째 색인만 제공합니다. 목록을 반복하여 삭제할 열이 포함된 목록을 생성하거나 반복하는 동안 삭제할 수 있습니다.
Names Default To Here( 1 );
dt = New Table( "Example",
Add Rows( 3 ),
New Column( "A_Dummy", Character, "Nominal", Set Values( {"xx", "yy", "zz"} ) ),
New Column( "B", Character, "Nominal", Set Values( {"a", "b", "c"} ) ),
New Column( "C_Dummy", Character, "Nominal", Set Values( {"l", "m", "n"} ) ));<BR />
cols = dt << get column names( string );
for(i = 1, i <= N Items(cols), i++,
If(Contains(cols[i],"Dummy"),
dt << Delete Columns(cols[i])
);
);Re: 특정 문자열이 포함된 열을 선택하고 삭제하세요.추가하자면... 제가 이것을 요청하는 이유는 예를 들어 "_Dummy"가 포함된 50개의 열과 같은 열 이름이 여러 개 있는지 알고 싶기 때문입니다. 이름을 지정하지 않고도 신속하게 삭제할 수 있는 방법은 무엇입니까? "dt << delete column(column("A_Dummy"))"와 같은 알려진 열 삭제 명령을 사용하여 특정 열 이름을 지정합니다. 이 명령을 사용해야 한다면 모든 고유 열 이름의 50배를 입력해야 합니다.