2016-07-25 2 views
1

мне нужно заменить значение столбца кадра данных с новыми значениями в R. Ниже установить примерные данные:Необходимо заменить значение столбца с новыми значениями

Date  Temp  SF 
2/3/2016  20  3 
4/3/2016  45  7 
7/3/2016  35  8 
9/3/2016  25  7 
9/4/2016  16  5 
9/7/2016  25  7 
9/9/2016  14  6 
10/2/2016 32  2 
11/2/2016 32  2 
11/16/2016 45  6 

Мне нужно заменить значение столбца «Темп» с новыми значениями c (12,13,14,15) , где «Дата» больше (9/7/2016). Формат даты («% m /% d% Y»). Так конечный результат должен выглядеть следующим образом:

Date  Temp  SF 
2/3/2016  20  3 
4/3/2016  45  7 
7/3/2016  35  8 
9/3/2016  25  7 
9/4/2016  16  5 
9/7/2016  25  7 
9/9/2016  12  6 
10/2/2016 13  2 
11/2/2016 14  2 
11/16/2016 15  6 

Спасибо!

ответ

1

Мы создаем логический индекс, сначала преобразуя столбец «Дата» в класс Date и проверяя, больше ли он «2016-09-07» («i1»), затем мы подмножаем столбцы «Temp» на основе «i1» и присвоить значения в последовательности, начиная с 12 и ее length.out, указанной в качестве sum из «» i1, увеличивается by 1.

i1 <- as.Date(df1$Date, "%m/%d/%Y") > "2016-09-07" 
df1$Temp[i1] <- seq(12, length.out = sum(i1), by = 1) 
Смежные вопросы