qoiqpwqr 发表于 2012-10-11 00:09 
a <- data.frame(sex=c(1,1,2,2,1,1), bq=c(1,2,1,2,2,2))
b <- data.frame(variable=c("sex","sex","bq","bq","bq"), value=c(1,2,1,2,3), label=c("M","F","A","B","C"), stringsAsFactors=FALSE)
vars <- colnames(a)
for (i in 1:length(vars)) {
labs <- b[b$variable==vars, ]
n <- nrow(labs)
for (j in 1:n) {
a[a[, vars] == labs$value[j], vars] <- labs$label[j]
}
a[, vars] <- factor(a[, vars])
levels(a[, vars]) <- c(labs$label)
}
a<- data.frame(sex=c(1,1,2,2,1,1), bq=c(1,2,1,2,2,2),age=c(15,16,20,22,14,NA))
程序有错。