我正在尝试使用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
以下是帮助文档中的示例。
答案 0 :(得分:1)
一个类似的问题是Explaining Fortran Write Format。不幸的是,它没有明确地处理F描述符。
3F7.1
表示3个浮点数,每个数字打印超过7个字符,每个字符在小数点后面都有一个十进制数。主角是空白。
对于阅读,您根本不需要.1
信息,只需从这7个字符中读取浮点数。
你猜对了A4(四个字符串)和1X(一个空白)的含义正确。
答案 1 :(得分:0)
在Fortran中,所谓的数据编辑描述符(格式化数据的输入或输出)可能有重复的规范。
格式为Button.OnCliickListner()
,数据编辑描述符为(A4,1X,3F7.1)
和A4
。只有F7.1
有重复规范(F7.1
之前的数字)。这只是意味着格式就像描述符重复出现一样:如F
。重复规范F7.1, F7.1, F7.1
,或者没有给出,只有单一的外观。
然后,问题的格式就像
1
此格式是问题图像之一中提供的规则所涵盖的格式。特别是,重复规范的方面在规则2中给出了规则3的相应示例。
此外,在Fortran本身,重复计数说明符也可能是(A4,1X,F7.1,F7.1,F7.1)
作为特例:这就像一个特别大的重复计数。 *
就像*(F7.1)
。我没有看到HLM支持这一点的迹象,但如果需要,可能会给出非常大的重复次数。
在F7.1, F7.1, F7.1, ...
1X
中,1
不是重复规范,而是位置编辑描述符的必要组成部分。
答案 2 :(得分:0)
从excel for HLM制作MDM文件的步骤:
- 确保所有列中的所有字符都排成一行
- 删除文档中的所有选项卡,并用空格替换它们。
- 将文档另存为.dat
首先将其另存为.txt
然后在记事本中将其打开并保存为.dat
输入数据格式(FORTRAN-Style)
程序想要按空格读取数据文件空间,因此必须完全指定它以便正确读取整个集合。 如果有什么东西是关闭的,即使是一个空格,那么与你在另一个程序中检查它们相比,你的描述性统计数据会有所不同。
- 所有级别的需要ID列
需要对ID列进行排序,使其从最小到最小 最大
使用A#,其中#是ID
使用X1来 从ID移动到下一列
- 需要说明每列需要多少个字符
F是该列所需的字符数 - 使用F#(#=数字)
需要有足够的角色空间来提供一个“差距”。空间 每列之间
需要足够的字符空格以允许小数
作为F的一部分,您需要指定小数位数
您可以通过在F编号后添加小数点然后执行此操作来执行此操作 数字代表你需要的空间-F#。#
您可以在F前面使用一个数字,以便重复'它。不 虽然必要。 - #F##
总而言之,它看起来应该是这样的:
(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