2017-02-22 15 views
-1

이 (큰) 데이터 프레임이 있고 "날짜"라는 열과 관련하여 누락 된 행 (0으로 채워짐)을 추가하려고합니다. 예를 들어일부 열을 참조로 사용하여 데이터 프레임에 누락 된 행 (0으로 채워짐)을 추가하려면 어떻게합니까?

:

date 0  1   2   3   4   5 
199807 0  546.98  19355.55 1110.6 4720.34 3435.9 
199808 0  1668.85 4398.29 5816.71 599.7  535.28 
199809 608.79 446.68  2297.68 1862.64 415.6  933.46 
199811 0  0   1366.59 1337.01 0   711.59 
199812 0  0   601.8  2079.9 2030.24 368.44 
199901 0  1462.8  0   552.78 0   0 
199903 0  621.2  2242  753.36 0   0 

그리고 나는이 싶습니다

date 0  1  2   3   4   5 
199807 0  546.98 19355.55  1110.6 4720.34 3435.9 
199808 0  1668.85 4398.29  5816.71 599.7  535.28 
199809 608.79 446.68 2297.68  1862.64 415.6  933.46 
199810 0  0  0   0   0   0 
199811 0  0  1366.59  1337.01 0   711.59 
199812 0  0  601.8  2079.9 2030.24 368.44 
199901 0  1462.8 0   552.78 0   0 
199902 0  0  0   0   0   0 
199903 0  621.2 2242   753.36 0   0 

매우 감사를

+0

를 지정자로 쓰기; 199810 행이어야합니까? 한 가지 방법은 모든 날짜를 포함하는 데이터 프레임과 '병합'하는 것입니다 (기술적으로 날짜가 아니지만, 무엇이든간에). 'NA'로 행을 가져온 다음 누락 된 값을 0으로 바꿉니다. – joran

+0

당신이 옳습니다. . 고마워, 이미 편집 했어. –

답변

0
다음과 같이 수행 할 수 있습니다

:

1)은 만들기 다른 모든 열에 모든 날짜와 0이 포함 된 자리 표시 자 데이터 집합

원본 데이터 셋에있는 날짜에 대한

2), 원래의 값이 아마 생각이 잘못된 장소에서 제로의 행이 데이터 세트를

# Create a placeholder dataset, including all dates, 0 at all other columns 
df <- data.frame(date = c(199801:199812, 199901:199912), 
       `1` = 0, `2` = 0, `3` = 0, check.names = FALSE) 

# create the dataset with some data (this will be the 'original' dataset) 
df2 <- data.frame(date = c(199807:199809, 199811:199812, 199901:199903), 
        `1` = rnorm(8), `2` = rnorm(8), `3` = rnorm(8), check.names = FALSE) 

# write data from original dataset to placeholder dataset 
df[df$date %in% df2$date,] <- df2