<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは! 文字列を解析したい。 文字列には 202 のバイナリ ビットがあり、その文字列を半分にカットしたいと考えています。 文字列の長さを調べて、特定の文字数の値を返すことができると思います。 実際にそれを半分にカットして、それぞれに101ビットを持つ2つの列を作成する方法がわかりません。 それを取得したら、すべてのビットを独自の列に分割したいと思います。 したがって、「1」または「0」のいずれかを含む 101 列が必要です。 文字数で解析する方法がわかりません。
助けてくれてありがとう!!
一般に、データの編成方法と JMP プラットフォームが提供するもの (または提供しないもの) の間には依存関係があります。
あなたが何を求めているのか完全に理解できたかどうかはわかりませんが、このコードを上記の Craige のコードに追加すると、それに近づくことができると思います。
dt2 = dt <<転置(
列(:c1、:c2、:c3、:c4、:c5、:c6、:c7、:c8、:c9、:c10)、
出力テーブル( 「例の移調」 )
);
dt2 <<グラフビルダー(
コントロールパネルを表示( 0 )、
変数(
X( :ラベル )、
Y( :行 1 )、
Y( :行 2 )、
Y( :行 3 )、
Y( :行 4 )、
Y( :行 5 )
)、
要素( 位置( 1 、 1 )、Bar( X、Y、凡例( 12 ) ) )、
要素( 位置( 1 、 2 )、Bar( X、Y、凡例( 13 ) ) )、
要素( 位置( 1 、 3 )、Bar( X、Y、凡例( 15 ) ) )、
要素( 位置( 1 、 4 )、Bar( X、Y、凡例( 23 ) ) )、
要素( 位置( 1 、 5 )、Bar( X、Y、凡例( 27 ) ) )
);
電圧になるように「Label」列の値を調整する必要がありますが、これは「Recode」を使用するか、もう少し JSL を使用して行うことができます。 欲しいものを手に入れたら、そこに到達するためのより直接的な方法があるかもしれません。
ありがとう! それはとても役に立ちました。 残念ながら、それは私がやりたかったことの始まりにすぎず、どうやって休むかわかりません...
したがって、文字列のどの半分を見ているのかを示す必要があります。 分割している 100 行の文字列はすべて同じデータのもので、前半の文字列はすべて同じ名前であり、後半の文字列も同じです。 それができたら、両方の半分を別々にグラフ化する必要があります。 JMP で手動でグラフ化しようとしたところ、期待どおりの結果になりませんでした。 この分析を Excel で実行したのは、希望通りのグラフが表示されたからです。 基本的に、x 軸に沿ってビット (この場合は電圧) が入力され、y 軸に沿ってデータが入力されるすべての新しい列が必要です。
唯一の問題は、JMP でそれを行う方法が分からなかったことです。 何か助けはありますか?
どうもありがとうございます!!
これを試して
// 入力データはビットを表す文字 1 と 0 の文字列です
文字列 = "11110000111000110010";
// 文字列を途中で2つに分割します
// この部分文字列は文字 1 から始まり、長さの半分まで続きます
前半 = Substr( string, 1, Length( string ) / 2 );
// この部分文字列は、前の部分文字列の直後から始まります。
// 暗黙的な長さは最後まで続きます
後半 = Substr( string, 1 + Length( string ) / 2 );
// 1 と 0 のビットは列ごとに 1 つずつ入ります
ncols = 長さ(前半);
// 新しいテーブルを開始します
dt = 新しいテーブル( "例" );
// 各ビットに「c3」のような名前の列を追加します
For( i = 1, i <= ncols, i++, // || 演算子は 2 つの文字列を結合します
dt << New Column( "c" || Char( i ) ) // i は数値、char は文字列を作成します
);
// dt の行にビットを追加するヘルパー関数を作成します
adddata = Function( {bits}, // 関数へのパラメータ
{i, c}, // ローカル変数
dt << addrows( 1 ); // 関数は dt を使用することを認識しています
For( i = 1, i <= Length( bits ), i++,
c = Column( dt, "c" || Char( i ) ); // 同上
dt:c = Num( Substr( bits, i, 1 ) ); // 列にビットを入れます
);
);
// adddata を呼び出すたびに、ビットの行が dt に書き込まれます
adddata(前半);
adddata(後半);
adddata( "1010101010" );
adddata( "1111111111" );
adddata( "0000000000" );
