0

簡単に見えますが、オンラインで答えを見つけることができませんでした。1995 年から 2015 年までの都市の特徴を示すパネル データがあります。一部の変数については、2000 年と 2010 年のデータしかありません。したがって、1995 年から 2004 年までの欠落データを 2000 年の値で代入し、2005 年から 2015 年までのデータを 2010 年の値で代入する新しい変数を作成します。

私のデータセットは次の例のようになります。

   cities  idhm year
1       B    NA 1995
2       C    NA 1996
3       D    NA 1997
4       E    NA 1998
5       F    NA 1999
6       G 24599 2000
7       H    NA 2001
8       I    NA 2002
9       J    NA 2003
10      K    NA 2004
11      L    NA 2005
12      M    NA 2006
13      N    NA 2007
14      O    NA 2008
15      P    NA 2009
16      Q  5598 2010
17      R    NA 2011
18      S    NA 2012
19      T    NA 2013
20      U    NA 2014
21      V    NA 2015

次のようなデータセットが必要です。

   cities  idhm year newvar
1       B    NA 1995  24599
2       C    NA 1996  24599
3       D    NA 1997  24599
4       E    NA 1998  24599
5       F    NA 1999  24599
6       G 24599 2000  24599
7       H    NA 2001  24599
8       I    NA 2002  24599
9       J    NA 2003  24599
10      K    NA 2004  24599
11      L    NA 2005   5598
12      M    NA 2006   5598
13      N    NA 2007   5598
14      O    NA 2008   5598
15      P    NA 2009   5598
16      Q  5598 2010   5598
17      R    NA 2011   5598
18      S    NA 2012   5598
19      T    NA 2013   5598
20      U    NA 2014   5598
21      V    NA 2015   5598

どんな助けでも大歓迎です。

4

2 に答える 2

1

我々はできる :

df$new_var <- NA
df$new_var[df$year >= 1995 & df$year <= 2004] <- df$idhm[df$year == 2000]
df$new_var[df$year >= 2005 & df$year <= 2015] <- df$idhm[df$year == 2010]

または使用dplyr

library(dplyr)

df %>%
   mutate(new_var = case_when(between(year, 1995, 2004) ~idhm[year == 2000], 
                         between(year, 2005, 2015) ~idhm[year == 2010]))


#   cities  idhm year new_var
#1       B    NA 1995   24599
#2       C    NA 1996   24599
#3       D    NA 1997   24599
#4       E    NA 1998   24599
#5       F    NA 1999   24599
#6       G 24599 2000   24599
#7       H    NA 2001   24599
#8       I    NA 2002   24599
#9       J    NA 2003   24599
#10      K    NA 2004   24599
#11      L    NA 2005    5598
#12      M    NA 2006    5598
#13      N    NA 2007    5598
#14      O    NA 2008    5598
#15      P    NA 2009    5598
#16      Q  5598 2010    5598
#17      R    NA 2011    5598
#18      S    NA 2012    5598
#19      T    NA 2013    5598
#20      U    NA 2014    5598
#21      V    NA 2015    5598
于 2020-04-03T02:53:24.117 に答える