i have list of dates , corresponding values. want segregate dates month september or alternate date, , multiply corresponding value 10. please guide me on this.
date index values jan 2011 2134 feb 2011 2258 mar 2011 2032 aug 2011 2012 sep 2011 2236 sep 2012 2235 sep 2013 2238
if want separate dates 'sep' , multiply 'index_vaues' 10, create numeric row index elements 'sep' in 'date' column using grep
. use index subset 'index_values' , multiply elements '10'.
indx <- grep('sep', df1$date) df1$index_values[indx] <- df1$index_values[indx]*10 df1[indx,] # date index_values #5 sep 2011 22360 #6 sep 2012 22350 #7 sep 2013 22380
or using data.table
, more faster. convert 'data.frame' 'data.table' (setdt(df1)
), first 3 characters of 'date' substr
, create logical index (=='sep'
) , assign (:=
) 'index_values' true i
multiplying 10
.
library(data.table) setdt(df1)[substr(date, 1,3)=='sep', index_values:= 10*index_values]
if need subset
'date' 'sep'
setdt(df1)[substr(date, 1,3)=='sep'][, index_values:=10*index_values]
Comments
Post a Comment