スクリプト > リスト > 欠損値の削除こんにちは、JMP チームです。
スクリプト内で生成されたリストから欠落/空の値を削除する方法を探しています:
最初のリストは次のようになります: {.,.,.,2,3,4,7,.,.,.} そして、新しいリスト = {2,3,4,7} で終わりたいと思います。
リスト要素のループに頼らずにそれを達成する方法はありますか?
ありがとう。
一番、
TS
スクリプティングRe: スクリプティング > リスト > 欠損値の削除あなたがまだそれを理解していない場合に備えて。動作しますが、コピーのみを返します。x を変更したい場合は、再割り当てするか removefrom() を使用する必要があります
Names default to here(1);
x = {.,.,.,2,3,4,7,.,.,.};
new_x = remove(x, as list(loc(x, .)));
show(x, new_x);
removefrom(x, as list(loc(x, .)));
show(x, new_x);Re: スクリプティング > リスト > 欠損値の削除コード スニペットとエラー メッセージを提供できますか?
リストに文字列が含まれている場合、loc は機能しません。これは数値のみです。
空の値を持つ文字列のリストの解決策を次に示します。
a = {"a", "", "b", "", "c", "d", "e"};
b = concat items(a, ";");
c = words(b, ";");
課題: 別の解決策を持っている人はいますか?
Re: スクリプティング > リスト > 欠損値の削除こんにちはライアン、
理由はわかりませんが、あなたのスクリプトはいいえ私のために働く... (問題のデバッグに役立つ場合に備えて、JMP 16を持っています)
Re: スクリプティング > リスト > 欠損値の削除また、
Names Default to Here( 1 );
original = [.,.,.,2,3,4,7,.,.,.];
none missing = original[Loc( Not( Is Missing( original ) ) )];
Re: スクリプティング > リスト > 欠損値の削除こんにちは。
リストに「42」を追加していい感じです。Vogon には近づかないようにしましょう 
一番、
TSRe: スクリプティング > リスト > 欠損値の削除または:
NamesDefaultToHere(1);
in = {.,.,.,2,3,4,7,.,42,.};
out = in[LocNonMissing(in)];
Print(out);Re: スクリプティング > リスト > 欠損値の削除やあ@ティエリー_S 、
これを試して、
x = {.,.,.,2,3,4,7,.,.,.};
remove(x, as list(loc(x, .)));