2016-04-03 30 views
0

İki veri kümem var, ilk veri kümesi (DF1) bir tedavi grubudur, ID, var1, var2, sonuç dört değişkene sahiptir. Kimlik ve sonuç bir kişi için aynıdır. fakat var1 ve var2 değişiyor. Lütfen her kişinin farklı satır numarası olduğunu unutmayın. ID 1 3 sıraya sahiptir gibi, ID2, sadece 2.Farklı tarih setlerine dayanarak, bir tarih tahmin edin r

ID  var1    var2   result 
1  30    2013-11-23  2014-06-26 
1  30    2013-12-23  2014-06-26 
1  30    2014-1-23  2014-06-26 
2  60    2013-10-06  2014-05-10 
2  30    2014-01-6  2014-05-10 

ikinci veri seti (DF2) kimlik, Q1 VAR2 aynı değişkeni sahiptir. Ama sonuç yok.

ID  var1    var2   
a  30    2013-10-23  
a  30    2013-11-23  
a  30    2014-12-23  
b  60    2013-10-06  
b  30    2014-01-06  
b  30    2014-02-03 

Sorum, ben var1 dayalı DF2 bir sonuç her kişiyi sunmak için kullanabileceği yöntem ne tür DF1 karşılaştırarak VAR2 edilir? Ben DF1 kişi için tamamen aynı var 1 var ve var 2 DF2 olarak imkansız olduğunu düşünüyorum.

Şimdiden herhangi bir yardım için çok teşekkür ederim!

+0

sorunuz tamamen açık değildir. Beklediğiniz sonuca bir örnek verebilir misiniz? Ayrıca, "birleştirme" ye bir göz atın. – SymbolixAU

cevap

0

Eğer DF1 ve DF2 içinde var1 ve var2 maç ve daha sonra bir eşleşme varsa yere göre DF2 bir result atamak çalışıyorsunuz? Eğer öyleyse, bu çalışacaktır:

DF2$result <- NA 
DF2[which((DF2$var1 %in% DF1$var1) & (DF2$var2 %in% DF1$var2)),'result'] <- DF1[which((DF1$var1 %in% DF2$var1) & (DF1$var2 %in% DF2$var2)),'result'] 

Sen var1, var2 ve resultfactor değişkenler olmadığından emin olmak gerekir, aksi takdirde bu hatalı sonuçlar verebilir. Bunların factor olması gerekiyorsa, önce yukarıdaki betiği çalıştırdıktan sonra numeric veya character'a dönüştürün ve daha sonra factor'a dönün.