06月≪ 2018年07月 ≫08月

12345678910111213141516171819202122232425262728293031
--.--/--(--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--:--  |  スポンサー広告  |  EDIT  |  Top↑
2018.02/14(Wed)

Excelでスペース区切りデータ.prnを作成した場合の問題

Excelにデータを入力して、テキスト(スペース区切り)として保存すると拡張子は prn になる。

問題は、このデータをプログラムにかけるとエラーになってしまうこと。エラーは書式の問題。

原因がわからず苦労したが、結局、テキスト(スペース区切り)では 1 行あたりの文字数が
240 文字に制限される仕様になっているためと判明。
02:23  |  統計  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2018.02/09(Fri)

Stataで小数点以下を揃えた数値にしたい

Stataで実数値の変数があり、小数点以下の桁数が揃っていないとき、
揃えたい。例えばVar1には2.3333333とかが入っている。

小数点以下1桁のデータにするなら
replace Var1=round(10*Var1)/10

小数点以下2桁のデータにするなら
replace Var1=round(100*Var1)/100

要はround関数を使う。
21:04  |  STATA  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2018.02/09(Fri)

Stata:年月日データの一括削除

年月日変数を一括削除したい場合

/* 年月日データの一括削除 */
----------------
ds, has(format %t*)
drop `r(varlist)'
----------------
01:07  |  STATA  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2018.02/09(Fri)

Stataで文字列変数の一括削除

変数がたくさんあって、文字列変数は分析できないので数値変数だけのデータセットにしたい。

どうするか。
-------------------
ds, has(type string)
drop `r(varlist)'
-------------------
00:37  |  STATA  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2018.02/08(Thu)

Delphiでフォームサイズを固定化

・フォームのサイズを固定する

BorderStyleプロパティにbsSingleを設定
00:16  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2018.02/08(Thu)

Delphiで数値のみの入力

Delphiでエディットボックスに数値のみを入力させたい。

というわけで
procedure TForm2.LabeledEdit4KeyPress(Sender: TObject; var Key: Char);
begin
if (not CharInSet(Key, [#8, '0'.. '9'])) then
Key := #0;
end;
こんなコードを流用。

しかし、LabelEditのプロパティを見ていたら、Numbersonly という項目ができており、
true/falseが選択できた。コードを書かなくても、これをチェックすれば良いだけだった模様。

ただ、別な記事によればNumbersonlyだとマイナスや小数点に対応していないとのこと。
それは上記のコードでもおなじでタブキーと0から9までにしか対応していない。
でも、羅列すれば良いだけだから、上記コードの方が汎用性があるのかもしれない。
00:07  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2018.01/17(Wed)

TeXのen dashとem dash

TeXでのダッシュの使い方。

例えば、pp.15-20.のような場合、半角で「-」と打つと見た目は問題ない。
がしかし、出版社から en dashにしろと指摘されることもある。

どうも、「-」が短すぎるらしい。

ダッシュにも en dash と em dash の区別があり、en dashは「n」の長さのダッシュ、
em dashは「m」の長さのダッシュと微妙に違うということらしい。

というわけで pp.15-20.として使う場合には半角「-」を2個つなげれば、ちょうど
よい n dashになる。これは基本らしいのだが、こんなことを今さら知るとは・・・。
17:20  |  LaTeX  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2017.12/27(Wed)

Akashaのエラー

TeXエディターのAkashaを愛用している。よくできたシェアウェアなのだが、問題もある。
以前、作者に相談したのだが、バージョンが上がっても解決されていないので、その
問題点と対策を書いておく。

いつ、それが起きるのかがよく分からない。検索や置換の時なのか、カーソルでスクロール
しているのときなのか、あるいはコンパイルの時なのか。

ただ、現象は2つではっきりしている。
大きくて複雑な表で「\\」が「\」とひとつ¥が消えてしまう。
もう一つはやはり表中で「\hline」が「\hlin」と最後の「e」が消えてしまう。

当然、エラーになる。¥が消えると「Extra alignment tab has been changed to \cr.」
\hlineが\hlinになったときはエラーメッセージに\hlinも文字が出るのでわかりやすい。

対策1:エラー行をみて、目視で修正→毎回やる羽目になるのでどうか。
対策2:最後の文字が消えるのが分かっているので問題が出やすい表中では
\hlineや\\のあとに余分な空白を付けておく。

Akashaのバグには間違いないだろうが、再現性が低いと作者も対応しようが
ないのかもしれない。
18:37  |  LaTeX  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2017.12/24(Sun)

欠損値ケースの一括削除

複数の変数で欠損値があるケースを削除したい。

1つか2つなら
drop if 魅力1==. | 魅力2==.
でよい。

しかし、変数が100個あると面倒。そこで

foreach x in 魅力1-魅力100 {
drop if `x'==.
}

これで一括して欠損値のあるケースが削除できた。

注意するのは「`x'」のところの記号。

「`」は「’」ではない。キーボードからどう入力するのか。
解決法は、これをコピペして使うということ。
15:16  |  STATA  |  TB(0)  |  CM(2)  |  EDIT  |  Top↑
2017.12/24(Sun)

Stataでの多数の変数名一括変換

Stataで多数の変数の変数名を一括変換したい。

例えば、病名_new1から病名_new100という変数があるが、Sick1からSick100に変えたい場合。
1つずつ
rename 病名_new1 Sick1
と入力していく方法もあるが、100回やるのは面倒。

Excelで rename 病名_newX とSickXの列を100行作成してコマンドでやるのもありかも。
でも、100個くらいだと逆に面倒。

ということで、Stataでヘルプからユーザー作成の renames をインストール。
これは、複数変数の変数名を1活変換できる。

renames 元の変数名リスト \ 新しい変数リスト名

例えば、上の例なら
renames 病名_new1-病名_new100 \ Sick1-Sick100

問題は\の区切り記号。\ではエラーになる。ここは逆スラッシュ記号なのだが、
ブログでどう表現するのかわからない。「/」の逆になる。キーボードでは「ろ」のところ
にある記号。
14:56  |  STATA  |  TB(0)  |  CM(1)  |  EDIT  |  Top↑
PREV  | BLOGTOP |  NEXT
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。