【问题标题】:Why do some categories change when I save an spss file as csv and read it again in spss?为什么当我将spss文件保存为csv并在spss中再次读取时,某些类别会发生变化?
【发布时间】:2019-10-30 10:45:29
【问题描述】:

我有一个大的 spss 文件 (.sav) 并将其保存为 .csv 文件。这个文件太大了,用 Excel 打不开,所以我在 spss 里又读了一遍这个文件。但是,现在有些情况下,某些变量具有日期而不是原始文件的类别。我没有更改文件本身的任何内容,那么某些变量的内容怎么可能仅在少数情况下发生更改?

【问题讨论】:

  • 将文本文件导入 SPSS 时,您可以选择定义每个导入字段的类型(否则 SPSS 会自行决定,有时会猜错)。确保在导入数据时,有问题的字段定义了正确的类型。如果这不能解决您的问题,请编辑帖子并添加数据示例 - 原始版本和导入(和更改)版本。
  • 谢谢,原来我手动指定所有变量的格式,问题就解决了!

标签: csv spss


【解决方案1】:

这里的问题可能是 IBM SPSS Statistics Import 数据接口使用 GET DATA 命令语法,变量格式定义为 AUTO。

实际发生的情况是,产品实际上读取了两次数据,但只粘贴了第一次传递的 GET DATA 命令语法——显示所有已定义字段的 AUTO。在最新版本 (IBM SPSS Statistics 26.0) 中,/MAP 子命令现在为您提供 /VARIABLES= 子命令和 SPSS Statistics 实际用于读取数据的变量定义。

今后,您可以通过使用粘贴的 GET DATA 命令语法(您自己进行更改)以相同的方式可靠地读取相同的文本文件。

例如: File -> Import Data 界面将以下输出提供给 Output Viewer 窗口

PRESERVE. 
SET DECIMAL DOT. 

GET DATA  /TYPE=TXT 
  /FILE="/Applications/IBMSPSSStatistics/Subscription/Samples/English/demo.txt" 
  /ENCODING='UTF8' 
  /DELIMITERS="\t" 
  /QUALIFIER='"' 
  /ARRANGEMENT=DELIMITED 
  /FIRSTCASE=2 
  /DATATYPEMIN PERCENTAGE=95.0 
  /VARIABLES= 
  Age AUTO 
  Gender AUTO 
  MaritalStatus AUTO 
  Address AUTO 
  Income AUTO 
  IncomeCategory AUTO 
  JobCategory AUTO 
  /MAP. 
RESTORE. 
CACHE. 
EXECUTE. 

Data written to the working file. 
7 variables and 200 cases written. 
Variable: Age                Type: Number  Format : F2 
Variable: Gender             Type: String  Format : A4 
Variable: MaritalStatus      Type: Number  Format : F1         One or more values were set to system-missing. 
Variable: Address            Type: Number  Format : F2 
Variable: Income             Type: Number  Format : F6.2 
Variable: IncomeCategory     Type: Number  Format : F4.2 
Variable: JobCategory        Type: Number  Format : F1 

Substitute the following to build syntax for these data. 
  /VARIABLES= 
   Age F2 
   Gender A4 
   MaritalStatus F1 
   Address F2 
   Income F6.2 
   IncomeCategory F4.2 
   JobCategory F1 

DATASET NAME DataSet1 WINDOW=FRONT.

如果您将 /VARIABLES 子命令替换为建议的内容,则每次都可以以相同的方式可靠地读取此数据。

因此:

PRESERVE. 
SET DECIMAL DOT. 

GET DATA  /TYPE=TXT 
  /FILE="/Applications/IBMSPSSStatistics/Subscription/Samples/English/demo.txt" 
  /ENCODING='UTF8' 
  /DELIMITERS="\t" 
  /QUALIFIER='"' 
  /ARRANGEMENT=DELIMITED 
  /FIRSTCASE=2 
  /DATATYPEMIN PERCENTAGE=95.0 
  /VARIABLES= 
   Age F2 
   Gender A4 
   MaritalStatus F1 
   Address F2 
   Income F6.2 
   IncomeCategory F4.2 
   JobCategory F1   
  /MAP. 
RESTORE. 
CACHE. 
EXECUTE. 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-25
    相关资源
    最近更新 更多