0

Excel 2007 で以下のようなデータがあります。

Class   Var1    Var2
1       20      27
2               13
2        
2       11   
2        
1       11      27
2               61
2        
2        
2        
1       20      27
2       30      71
2       
2       

Class=2 はすべて、そのすぐ上の世帯 (Class=1) のメンバーである個人です。5月の例から、このデータは1つの世帯に属します

Class   Var1    Var2
1       20      27
2               13
2        
2       11   
2        

私がやりたいのは、個人レベルのデータを削除して、世帯レベルの値に置き換えることです。したがって、私の例から、出力は次のようになります。

Class   Var1    Var2
1       20      27
2       20      27
2       20      27
2       20      27   
2       20      27  

ExcelまたはRでこれを行う簡単な方法はありますか? 20 万行以上のデータがあるため、手動で行うと永遠に時間がかかります。

個人レベルの値を削除する方法がわかりません。しかし、それができたら、Excel を使用することができます > Special > Blanks functions に移動します。

ありがとうディキシ

4

2 に答える 2

1

データを R に読み込む場合は、次のようにdata.frame言いDFます。Var1次に、との値Var2NA最初にリセットしてna.locfから、パッケージの関数を使用できますzoo

DF
##    Class Var1 Var2
## 1      1   20   27
## 2      2   NA   NA
## 3      2   NA   NA
## 4      2   NA   NA
## 5      2   NA   NA
## 6      1   11   27
## 7      2   NA   NA
## 8      2   NA   NA
## 9      2   NA   NA
## 10     2   NA   NA
## 11     1   20   27
## 12     2   NA   NA
## 13     2   NA   NA
## 14     2   NA   NA

DF[DF$Class == 2, 2:3] <- NA
require(zoo)
DF <- na.locf(DF)
DF
##    Class Var1 Var2
## 1      1   20   27
## 2      2   20   27
## 3      2   20   27
## 4      2   20   27
## 5      2   20   27
## 6      1   11   27
## 7      2   11   27
## 8      2   11   27
## 9      2   11   27
## 10     2   11   27
## 11     1   20   27
## 12     2   20   27
## 13     2   20   27
## 14     2   20   27
于 2013-11-03T11:34:14.400 に答える