Re place with previous value
Maybe something like: f <- function(x,y) ifelse(sign(y[x])==-1,return(y[x-1]), return(y[x])) test[,3] <- sapply(seq_along(test[,3]),f,test[,3])
Ravi S. Shankar wrote:
Hi R,
I have a dataframe with
dim(test)
[1] 435150 4
class(test)
[1] "data.frame"
In the third column every time a number with "-" appears I need to
replace with previous value
I am using the following code
s=which(substr(as.character(test[,3]),1,1)=="-")
for(i in 1:length(s)) test[s[i],3] = test[s[i]-1,3]
Is there a faster way of doing this?
sessionInfo()
R version 2.5.1 (2007-06-27)
i386-pc-mingw32
locale:
LC_COLLATE=English_United States.1252;LC_CTYPE=English_United
States.1252;LC_MONETARY=English_United
States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252
attached base packages:
[1] "stats" "graphics" "grDevices" "utils" "datasets"
"methods"
[7] "base"
Thanks in advance
Ravi Shankar S
This e-mail may contain confidential and/or privileged i...{{dropped:10}}
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
View this message in context: http://www.nabble.com/Replace-with-previous-value-tp16310560p16323983.html Sent from the R help mailing list archive at Nabble.com.