我的问题是:
我有一个数据库,里面有一长串病人的X光片和相关信息,按病人身份排序。我想要做的是为每个病人找到第一次X光检查的时间,我想为这些病人的每一次X光检查填写这个数据库。问题是每个病人通常都有多次X光片,我不知道如何将数据从另一列复制到我的timeOfFirstXray列中。
例如,(对不起,我的格式很差)
.....dateandtimeof1stXRAY ptid ...dateandtimeofxray
4 .21/1/2011 4:30 21/1/2011 4:30
4 .22/2/2011 5:11 21/1/2011 4:30
4 .25/5/2011:00.21/1/2011 4:30
5 .29/7/2000 3:0029/7/2000 3:00
5 .30/7/2000 4:00 .29/7/2000 3:00
5 .2000年7月31日5:00 .29/7/2000 3:00
5 .1/8/2000 1:0029/7/2000 3:00
6 .1/9/2002 2:001/9/2002 2:00
8 .2008年10月3日3:23 .3/10/2008 3:23
8 .4/10/2008 5:00 .3/10/2008 3:23
8 .2008年10月5日上午9时.3/10/2008 3:23
我的密码是:
将计数器设置为0,将日期变量初始化为第一行的日期值,如果计数器< patientID,counter++直到等于id,则将日期变量设置为该行中日期的值,并将该行的值设置为timeOfFirstXray。否则,如果计数器== patientID,则将现有日期变量中的值复制到该行的timeOfFirstXray中。
我以前从来没有用过SPSS或excel来处理这类东西,所以基本上我要找的是上面的翻译。
谢谢你的阅读!
发布于 2012-08-11 19:23:15
这里有一个Excel选项。假设您的数据从第2行开始,请在C2中输入此公式并向下复制。注意,这是一个数组公式,必须用Ctrl Enter输入。(如果正确的话,您将看到公式周围的花括号。)然后尽可能地抄写:
=MIN(IF(($A$2:$A$12=A2)*($B$2:$B$12),$B$2:$B$12))

调整您的范围以适合您的数据。请注意,即使它们在源数据中没有按时间顺序排列,它也会得到最早的日期。
如果您对公式背后的逻辑感兴趣,请参阅我博客上的这个职位。
如果您只想显示最小值,可以使用Excel中的pivot表(Excel 2010 )完成类似于Andy上面的注释的操作。关键是“将值显示为”Min:

https://stackoverflow.com/questions/11912987
复制相似问题