如何将CSV文件加载到SPSS变量和值标签中

时间:2014-10-27 20:53:26

标签: spss

摘要

让我先说一下我是SPSS的新手,所以如果我的术语不正确,我会道歉。我有两个关于同一调查的CSV文件(一个带有'变量标签'另一个带有'值标签'。我希望将这些文件组合在一起,而无需手动编写每种语法代码(如果可能的话。)

1 - 带标签的CSV

respondent_id,     I_am_between,  I_am_happy
3470220950,     26-33 years old,  Sometimes
3470226804,     34-41 years old,  Very Often
3470226906,     34-41 years old,  Sometimes

2 - 包含

的CSV
respondent_id,    I_am_between,     I_am_happy
3470220950,                  2,     3
3470226804,                  3,     4
3470226906,                  3,     3

我要做的就是匹配问题" I_am_between" 26-33岁的变量标签'价值为' 2'。这在SPSS中是否可行(如果是,如何)?感谢。

更新周杰伦的解决方案和评论:如周杰伦所述,第一种方法可能无法按照您喜欢的顺序加载答案排序。例如,一个问题' I_have_been_with_the_company'可能会加载以下内容:(1 ='< 2 years',2 ='> 10年',3 =' 3 - 5年')你想要的(1 ='< 2 years',2 =' 3-5岁'等)我通过加载第二个文件(显示值)并手动修复此问题编辑标签。

VALUE LABELS
I_have_been_with_the_company
1 '<2 years'
2 '3-5 years'
3 '5-7 years'
4 '8- 10 years'
5 '>10 years'.

EXECUTE.

1 个答案:

答案 0 :(得分:3)

最简单的方法是仅导入第一个文件并使用自动重新编码。这样做的好处是直截了当,但缺点是重新编码的值可能不一定与文件2中的值匹配。

GET DATA  /TYPE=TXT
  /FILE="file1.csv"
  /ENCODING='UTF8'
  /DELCASE=LINE
  /DELIMITERS=","
  /ARRANGEMENT=DELIMITED
  /FIRSTCASE=2
  /IMPORTCASE=ALL
  /VARIABLES=
  respondent_id F10.0
  V2 A15
  V3 A10.
CACHE.

AUTORECODE VARIABLES=V2 V3 
  /INTO I_am_between I_am_happy.

DELETE VARIABLES V2 V3.

或者,第二种方法是将两个文件导入单独的数据文件,使用添加变量合并它们,然后使用STATS VALLBLS FROMDATA扩展命令(您需要安装)将一个变量的值应用为标签到另一个变量。

GET DATA  /TYPE=TXT
  /FILE="file2.csv"
  /ENCODING='Locale'
  /DELCASE=LINE
  /DELIMITERS=","
  /ARRANGEMENT=DELIMITED
  /FIRSTCASE=2
  /IMPORTCASE=ALL
  /VARIABLES=
  respondent_id F10.0
  I_am_between F2
  I_am_happy F2.
CACHE.

DATASET NAME DataSet1 WINDOW=FRONT.

GET DATA  /TYPE=TXT
  /FILE="file1.csv"
  /ENCODING='UTF8'
  /DELCASE=LINE
  /DELIMITERS=","
  /ARRANGEMENT=DELIMITED
  /FIRSTCASE=2
  /IMPORTCASE=ALL
  /VARIABLES=
  respondent_id F10.0
  V2 A15
  V3 A10.
CACHE.

DATASET NAME DataSet2 WINDOW=FRONT.

STAR JOIN 
  /SELECT t0.V2, t0.V3, t1.I_am_between, t1.I_am_happy 
  /FROM * AS t0 
  /JOIN 'DataSet1' AS t1 
    ON t0.respondent_id=t1.respondent_id 
  /OUTFILE FILE=*.

STATS VALLBLS FROMDATA VARIABLES=I_am_between I_am_happy LBLVARS=V2 V3 
/OPTIONS VARSPERPASS=20  
/OUTPUT EXECUTE=YES.

DELETE VARIABLES V2 V3.