摘要
让我先说一下我是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 - 包含值
的CSVrespondent_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.
答案 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.