[R] SAPPLY function for COLUMN NULL

arun smartpink111 at yahoo.com
Sun May 26 18:52:07 CEST 2013


colnames(dd)
#[1] "col1" "colb"
null_vector<- colnames(dd)
sapply(null_vector,makeNull,dd)
#     col1 colb
#[1,]   NA    4
#[2,]    2   NA
#[3,]    3    2
#[4,]    4   NA
#[5,]    1    4
#[6,]   NA    5
#[7,]    1    6
A.K.


>I am trying to make a column value in a dataframe = NA if there is a 0 
or high value in that column. I need to do this process repeatedly, 
hence I >have to define a function. Here is the code, that I am using and is not working. Please advise on where I am making an error. 
>
>makeNull <- function(col, data=dd) { 
>is.na(data[[col]]) <- data[[col]] ==0 
>is.na(data[[col]]) <- data[[col]] > 999999 
>return(data[[col]]) 
>} 
>
>dd <- data.frame(col1=c(0,2,3,4,1,0,1),colb=c(4,0,2,0,4,5,6)) 
>null_vector=c("cola","colb") 
>sapply(null_vector,function(x) makeNull(x,dd)) 
>
>Error in `[[<-.data.frame`(`*tmp*`, col, value = logical(0)) :  replacement has 0 rows, data has 7 
>
>
>Thank you in advance. 
>-Sanjeev



More information about the R-help mailing list