Páginas

domingo, 14 de septiembre de 2014

R: Segundo proyecto de Coursera 'Complete'

El segundo deber consistía en crea una función que genere un data frame indicando cuantas observaciones completas contiene cada archivo de un directorio:

complete = function(directory, iden=1:332){
  file_list = list.files(directory)
  for (file in file_list) {
    x = read.csv(paste(directory,"/",file, sep =""))
    if (x[1,4] %in% iden){
      monitor = x[1,4]
      complete_cases = sum(complete.cases(x))   
      if (!exists("data_frame")){
        data_frame = data.frame(id=monitor, nobs = complete_cases) 
      } else {
        temp_data_frame = data.frame(id=monitor, nobs = complete_cases)
        data_frame = rbind(data_frame, temp_data_frame)
        rm(temp_data_frame)
      }
    }
  }
 
  for (value in iden){
    for (rows in seq(nrow(data_frame))){
      if (data_frame[rows,1] == value){
        if (!exists("monitor_frame")){
          monitor_frame = subset(data_frame, id == value)
        }else{
          temp_monitor_frame = subset(data_frame, id==value)
          monitor_frame = rbind(monitor_frame, temp_monitor_frame)
          rm(temp_monitor_frame)
        }
        break
      }
    }
  }
  print(monitor_frame)
}

No hay comentarios:

Publicar un comentario