我正在尝试使用HLM 7学生版创建MDM文件,但由于我无法访问SPSS,因此我尝试使用ASCII输入导入数据。作为此过程的一部分,我需要输入Fortran样式的数据格式。尽我所能,我可能无法理解这一步。熟悉Fortran(甚至更好的HLM本身)的人可以向我解释一下这是如何工作的吗?这是我目前的理解
From the example EG3.DAT they give
(A4,1X,3F7.1)
I think
A4 signifies that the ID is 4 characters long.
1X means skip a space.
F.1 means that it should read 1 decimal places.
我很担心3F7可能意味着什么。
EG3.DAT
2020 380.0 40.3 12.5
2040 502.0 83.1 18.6
2180 777.0 96.6 44.4
以下是帮助文档中的示例。
在Fortran中,所谓的数据编辑描述符(格式化数据的输入或输出)可能具有重复的规范。
在(A4,1X,3F7.1)
格式中,数据编辑描述符是A4
和F7.1
。只有F7.1
有重复规范(F
之前的数字)。这只是意味着格式就像描述符重复出现一样:像F7.1, F7.1, F7.1
。重复规范1
,或没有给出,只有单一的外观。
那么,问题的格式就像
(A4,1X,F7.1,F7.1,F7.1)
此格式是由问题图像之一中提供的规则所涵盖的格式。特别地,重复规范的方面在规则2中给出,具有规则3的对应示例。
此外,在Fortran本身,重复计数说明符也可能是*
作为特例:这就像一个特别大的重复计数。 *(F7.1)
就像F7.1, F7.1, F7.1, ...
。我没有看到HLM支持这一点的迹象,但如果需要,可以给出非常大的重复计数。
在1X
中,1
不是重复规范,而是位置编辑描述符的一个整体和必要的部分。
一个类似的问题是Explaining Fortran Write Format。不幸的是,它没有明确地处理F描述符。
3F7.1
表示3个浮点数,每个浮点数超过7个字符,每个字符在小数点后面有一个十进制数。主角是空白。
对于阅读,您根本不需要.1
信息,只需从这7个字符中读取浮点数。
你猜对了A4(四个字符串)和1X(一个空白)正确的含义。
从excel for HLM制作MDM文件的过程:
- 确保所有列中的所有字符都排成一行
- 从文档中删除所有选项卡,并用空格替换它们。
- 将文档另存为.dat
输入数据格式(FORTRAN-Style)
该程序希望按空间读取数据文件空间,因此您必须完美地指定它,以便它正确读取整个集合。如果有什么东西是关闭的,即使是一个空格,那么与你在另一个程序中检查它们相比,你的描述性统计数据会有所不同。
- 所有级别的需要ID列
- 需要说明每列需要多少个字符
总而言之,它应该看起来像这样:
(A4,X1,F4.0,F5.1)
有用的网址:
https://books.google.de/books?id=VdmVtz6Wtc0C&pg=PA78&lpg=PA78&dq=data+format+fortran+style+hlm&source=bl&ots=kURJ6USN5e&sig=fdtsmTGSKFxn04wkxvRc2Vw1l5Q&hl=en&sa=X&ved=0ahUKEwi_yPurjYrYAhWIJuwKHa0uCuAQ6AEIPzAC#v=onepage&q&f=false http://www.ssicentral.com/hlm/help6/error/Problems_creating_MDM_files.pdf http://www.ssicentral.com/hlm/help7/faq/FAQ_Format_specifications_for_ASCII_data.pdf