R中的数据验证

R中的数据验证,r,R,我想验证.csv的标题和正文 您可以找到更具说明性的图像: 我想验证一个带有标题的表,标题中包含以下参数:COL1=PERSONA、COL2=EDAD、COL3=SEXO、COL4=TRABAJO、COL5=multipador,并使用列中的下一个值验证主体: COL1=VARCHAR,COL2=NUMERICAL,COL3=H或M(组成列的值可以是H或M),COL4=VARCHAR,COL5=1(所有值都必须是1) 我想在R中对.csv存档进行收费,并用代码验证.csv,最后,如果.csv的值

我想验证.csv的标题和正文

您可以找到更具说明性的图像:

我想验证一个带有标题的表,标题中包含以下参数:COL1=PERSONA、COL2=EDAD、COL3=SEXO、COL4=TRABAJO、COL5=multipador,并使用列中的下一个值验证主体: COL1=VARCHAR,COL2=NUMERICAL,COL3=H或M(组成列的值可以是H或M),COL4=VARCHAR,COL5=1(所有值都必须是1)

我想在R中对.csv存档进行收费,并用代码验证.csv,最后,如果.csv的值正确,R会给我一个TRUE;如果值错误,R会给我一个FALSE。我需要R验证文件的头和正文

我怎么做


感谢并致以亲切的问候,

假设您已将文件加载到
数据中
我将实现此功能:

good.csv <- function(x){
 # We start asuming that everything is correct
   res <- T
 # Evaluate colnames
   if (sum(colnames(x)==c("PERSONA", "EDAD", "SEXO", "TRABAJO", "MULTIPLICADOR"))!=5){res <- F
} 
  if(!(class(x$PERSONA)%in%c("character","factor"))){res <- F}
  if(is.numeric(x$EDAD)==F){res <- F}
  if(!(levels(x$SEXO)%in%c("H","M"))){res <- F}
  if(!(class(x$TRABAJO)%in%c("character","factor"))){res <- F}
  if((x$MULTIPLICADOR)!=rep(1,nrow(x))){res <- F}
 # Return res value
   return(res)
}

good.csv您的意思是,您想加载表,看看每个变量的类是否符合您对类型和可能值的要求?是的,这就是问题所在。