2016-12-12 4 views
2

私は2つのデータセットを持っています。それらをD1D2と呼んでいます。 D2には、D1に追加したい2つの変数が含まれています。 D2は基本的にはD1のデータの制限されたセットですが、余分な変数があります。問題は、文字列変数がD2に切り替えられたため、Mergeを使用できないようです。のように、D1では、変数Nameの各エントリはWord1 Word2と表示され、D2ではWord2 Word1と表示されます。SPSSでのデータの統合に問題がある

どのように私もD2で発生し、D2から自分の不足している変数を追加D1内のエントリを見つけることができますか?

必要に応じてこれを解決するPythonを使用することは非常にうれしいです。

+0

を文字列変数名、幅は同じでなければならず、次にマージできます。 alter type関数、例えばalter type var1(A 600)を使用することができます。 – rawatdeepesh

答えて

1

まず作業例を作成することができます:

data list list/name (a20) v1 (f1) v2(f1). 
begin data 
"hello world" 1 2 
"huff puff" 3 4 
"word1 word2" 5 6 
end data. 
dataset name D1. 

data list list/name (a20) y1 (f1) y2(f1). 
begin data 
"world hello" 11 12 
"puff huff" 13 14 
"word2 word1" 15 16 
end data. 
dataset name D2. 

今、私たちはキーとしてnameを使用して2つのファイルを一致させたいが、name内の単語をD2に逆になっています。だから、最初に、私たちは2番目の単語を取り、最初の前にそれを置くことによって、それらを順番に戻す必要があります:

dataset activate D2. 
rename variables name=Rname. 
string name #n1 #n2(a20). 
compute #n2=substr(Rname,1,index(Rname," ")). 
compute #n1=substr(Rname,index(Rname," ")+1,20). 
compute name=concat(rtrim(#n1), " ", rtrim(#n2)). 
sort cases by name. 

今、私たちは、ファイルに一致するように進むことができます:すべてのための

dataset activate D1. 
sort cases by name. 
match files /file=* /tab=D2/by name/drop rname. 
exe. 
関連する問題