列名の変更やあみんな、
私のコードでは、csv ファイルを開き、列の名前を「Column 1」に変更します。データテーブルでは名前が変更されていますが、さまざまな列をすべて検索しても「列 1」が見つかりません。 開いたときにのみ元の名前が認識されます。データテーブル内で値を検索していますが、それがどの列にあるかを知る必要があります (i を 2 に設定すると機能します)。このアプリケーションでは i を 2 に設定すると機能することはわかっていますが、一般的に、なぜこのようなことが起こるのかを知るのは良いことだと思います。
colFunction = Function({search_string},
found =0;
i=1;
Show(search_string);
Show(nCols);
While (found == 0,
match_rows = dt << get rows where(as column(dt, nCols)==search_string);
if(nrows(match_rows) > 0, found = 1, i++);
if(i==nCols, found =1, );
);
col = Num(i);
);
file = Pick File();
dt = Open (file);
for(i=1, i<=ncols(dt), i++,
column(dt,i) << data type(Character);
column(dt,i) << set modeling type(continuous);
);
nCols = dt << Get Column Names ("Character");
col = Column (1);
col << set name("Column 1");
irglCol = colFunction("Irgl");
Re: 列名の変更まったく素晴らしいです。魅力的に機能します。
どうもありがとう。
Re: 列名の変更@txnelsonスクリプト ソリューションを示しましたが、これは対話的に対処するのも非常に簡単です。
データ テーブルの左側にあるリストから列名をコピーし、新しいデータ テーブルの列に貼り付けることができます。 これで、数式エディターのすべての機能にアクセスして操作できるようになりました。
次に、新しい列からそれらをコピーし、元のテーブルに貼り付けます。
ここにそのテクニックを紹介する小さなビデオがあります。
Re: 列名の変更これは必要なことを行う簡単なスクリプトです
Names Default To Here( 1 );
dt = Current Data Table();
ColList = dt << get column names( string );
For( i = 1, i <= N Items( ColList ), i++,
If( Substr( ColList[i], 1, 1 ) == "0",
Column( dt, i ) << set name( Substr( ColList[i], 2 ) )
)
);
Re: 列名の変更こんにちは、みんな、
私も同様の問題を抱えていますが、まったく同じではありません。何百もの列を含む JMP テーブルがあり、それらの列名のほとんどが数字 0 で始まるため、特定の列を探したり検索したりすることが困難になります。 JMP スクリプトを使用して各列の先頭にある数字 0 を削除する方法はありますか。
1 つまたは 2 つの列であれば、手動で行うこともできますが、これらは 100 桁です...一度に 1 つの列の名前を変更する方法は知っていますが、この場合、何らかの方法でループか何かを使用する必要があると思います...
これを達成できる方法がいくつかある場合は教えてください。
すべての助けに感謝します。
ありがとう。
Re: 列名の変更get columns names は列名のリストだけを取得します
列参照を取得すると、名前が文字列として取得されます。
他のアイデアもいくつかあるかもしれません。
開ける(); // ファイルを選択する必要はありません。自動的に写真ファイルのダイアログが開きます
列リストを取得し、パターンの位置を見つけて、参照の位置を使用して列名を変更します。
list=dt<< get column reference(); //gets strings not a list of columns
position=contains(list, column("Carline")); //finds the position of something in a list
column(position)<<SETNAME></SETNAME>
あるいは、本当に気が狂って、リストに代入して、リストを含むすべての列の名前を変更することもできると思います。
newlist=substitute(list, string, "Column 1");
dt<<SET column="" names=""></SET>