0

私が抱えている問題は次のとおりです。

私は、患者 ID 順に並べられた患者の長いリストの X 線写真と関連情報でいっぱいのデータベースを持っています。私がやりたいことは、各患者の最初の X 線撮影の時間を見つけることであり、これらの患者の X 線ごとにこれを入力したいと考えています。問題は、各患者が複数の X 線を持っていることが多く、データを別の列から timeOfFirstXray 列にコピーする方法がわからないことです。

例えば; (私の非常に貧弱なフォーマットで申し訳ありません)

ptid ...xray の日付と時刻 .....最初の XRAY の日付と時刻

4 ....... 2011/1/21 4:30 ........... 2011/1/21 4:30

4 ....... 2011/2/22 5:11 ........... 2011/1/21 4:30

4 ....... 2011/5/25 5:00 ........... 2011/1/21 4:30

5 ....... 2000/7/29 3:00 ........... 2000/7/29 3:00

5 .........2000/7/30 4:00 ......... 2000/7/29 3:00

5 ......... 2000/7/31 5:00 ......... 2000/7/29 3:00

5 .........2000/1/8 1:00 ........... 2000/7/29 3:00

6 .........2002/1/9 2:00 ......... 2002/1/9 2:00

8 ......... 2008 年 3 月 10 日 3:23 ......... 2008 年 3 月 10 日3:23

8 .........2008/4/10 5:00 ......... 2008/3/10 3:23

8 ......... 2008 年 5 月 10 日 9:00 ......... 2008 年 3 月 10 日3:23

私の疑似コードは次のとおりです。

カウンターを 0 に設定し、日付変数を各行の最初の行の日付値に初期化します。それ以外の場合、カウンター == 患者 ID の場合、日付変数の既存の値をこの行の timeOfFirstXray にコピーします

私は以前にこの種のものに SPSS や Excel を使用したことがないので、基本的に私が探しているのは上記の翻訳です。

読んでくれてありがとう!

4

2 に答える 2

1

これは SPSS オプションです。

`do if (missing(lag(ptid)) or ptid ne lag(ptid)).
dateandtimeof1stxray = dateandtimeofxray を計算します。
なら終了。
最初の xray の日付と時刻を残します。

これは、dateandtimeof1stxray が入力データセットに存在しないことを前提としています。

HTH、ジョン・ペック

于 2012-08-13T22:29:27.730 に答える
0

これがエクセルのオプションです。データが行 2 から始まると仮定して、この数式を C2 に入力し、下にコピーします。これは配列数式であり、Ctrl-Shft-Enter で入力する必要があることに注意してください。(正しく行われた場合は、数式の周りに中括弧が表示されます。) 次に、必要なだけ下にコピーします。

=MIN(IF(($A$2:$A$12=A2)*($B$2:$B$12),$B$2:$B$12))

ここに画像の説明を入力

データに合わせて範囲を調整します。ソース データで時系列順になっていない場合でも、最も早い日付が取得されることに注意してください。

数式の背後にあるロジックに興味がある場合は、私のブログのこの投稿を参照してください。

最小値のみを表示したい場合は、Excel のピボット テーブルを使用して、上記の Andy W のコメントと同様のことを実現できます (ここでは Excel 2010 を示しています)。重要なのは、「値を次のように表示する」ことです。

ここに画像の説明を入力

于 2012-08-11T19:23:15.900 に答える