#-------- Daten einlesen #install.packages("gdata") #install.packages("cluster") #install.packages("clue") #install.packages("rlist") library(gdata) library(cluster) library(clue) library(rlist) setwd("P:\\Daten\\Uni\\Master Wirtschaftsinformatik\\2018_WS\\VU Business Intelligence II\\aufgabe4\\frage2") #setwd("C:\\Users\\Admin\\Desktop\\bi2") files<-list.files("machining") files<-append(files[-c(1:10)],files[1:10]) alldata<-list() for(i in 1:length(files)) { alldata[[i]]<-read.csv(paste("machining\\",files[i],sep=""),header=TRUE,sep="*",stringsAsFactors=FALSE) } allsplitdata<-list() for(i in c(1:length(files))) { dataset<-alldata[[i]] ordereddata<-dataset[order(dataset$Id,dataset$ServerTimestamp,dataset$timestamp),] splitdata<-split(ordereddata,ordereddata$Id) allsplitdata[[i]]<-splitdata } dataitems<-array() for(i in 1:length(files)) { dataitems[i]<-nrow(alldata[i][[1]]) } goodfiles<-c() for(i in 1:length(files)) { if(dataitems[i]>=100) { goodfiles<-c(goodfiles,i) } } listofids<-c() for(i in goodfiles) { listofids<-c(listofids,names(allsplitdata[[i]])) } ids=unique(listofids) sumofids<-array() for(i in c(1:length(ids))) { counter<-0 for(j in c(1:length(listofids))) { if(ids[i]==listofids[j]) counter<-counter+1 } sumofids[i]<-counter } idswithsums<-cbind(ids,sumofids) goodids<-c() for(i in c(1:length(ids))) { if(idswithsums[i,2]=="202") goodids<-c(goodids,idswithsums[i,1]) } numbers<-data.frame() for(i in goodfiles) { buffer<-array() buffer[1]<-i for(j in c(1:length(goodids))) { splitid<-which(goodids[j] == names(allsplitdata[[i]])) buffer[j+1]<-nrow(allsplitdata[[i]][[splitid]]) } numbers<-rbind(numbers,buffer) } numbers<-setNames(numbers,c("filenumber",goodids)) minimum<-array() for(i in 2:21) { minimum[i-1]<-min(numbers[i]) } idswithminimum<-cbind(goodids,minimum) reallygoodids<-c() for(i in c(1:length(goodids))) { if(as.numeric(idswithminimum[i,2])>=10) reallygoodids<-c(reallygoodids,idswithminimum[i,1]) } gooddata<-data.frame(); for(i in goodfiles) { buffer<-array() buffer1<-array() buffer2<-array() for(j in c(1:length(reallygoodids))) { splitid<-which(reallygoodids[j] == names(allsplitdata[[i]])) for(k in c(1:5)) { buffer[(j-1)*5+k]<-as.numeric(allsplitdata[[i]][[splitid]]$value[k]) } #for(k in c(1:5)) { # buffer[(j-1)*5+k]<-as.numeric(allsplitdata[[i]][[splitid]]$value[round(nrow(allsplitdata[[i]][[splitid]])/2)-3+k]) #} #for(k in c(1:5)) { # buffer[(j-1)*5+k]<-as.numeric(allsplitdata[[i]][[splitid]]$value[nrow(allsplitdata[[i]][[splitid]])-(5-k)]) #} } gooddata<-rbind(gooddata,buffer) } gooddatanames=c() for(i in c(1:length(reallygoodids))) { for(j in c(1:5)) { gooddatanames=c(gooddatanames,paste(reallygoodids[i],j,sep="")) } } gooddata<-setNames(gooddata,gooddatanames) successdata<-read.csv("measuring.csv",header=TRUE,sep="*",stringsAsFactors=FALSE) #successdataold<-successdata helperMM1<-successdata$MM1[179] helperMM2<-successdata$MM2[179] helperMM3<-successdata$MM3[179] helper1MM1<-successdata$MM1[180] helper1MM2<-successdata$MM2[180] helper1MM3<-successdata$MM3[180] for(i in c(180:129)) { successdata$MM1[i]<-successdata$MM1[i-2] successdata$MM2[i]<-successdata$MM2[i-2] successdata$MM3[i]<-successdata$MM3[i-2] } successdata$MM1[127]<-helperMM1 successdata$MM2[127]<-helperMM2 successdata$MM3[127]<-helperMM3 successdata$MM1[128]<-helper1MM1 successdata$MM2[128]<-helper1MM2 successdata$MM3[128]<-helper1MM3 goodsuccessdata<-data.frame() for(i in goodfiles) { goodsuccessdata<-rbind(goodsuccessdata,successdata[i,c(3:17)]) } gooddata<-cbind(gooddata,goodsuccessdata) j<-1 badgooddata<-array() for(i in c(nrow(gooddata)):1) { i<-i if(is.na(gooddata$MM1[i]) || gooddata$MM1[i]=="") { badgooddata[j]<-i j<-j+1 } } for(i in badgooddata) { gooddata<-gooddata[-i,] } for(i in c(71:85)) { gooddata[,c(i)]<-(as.logical(gooddata[,c(i)])) } gooddata<-cbind(gooddata, acceptance=rowSums(gooddata[,77:85])==9) gooddata<-cbind(gooddata, acceptance_MM=rowSums(gooddata[,71:73])==3) truesandfalses=data.frame(colnames=c("name","true","false")) for(i in c(1:15)) { truesandfalses<-nbind(colnames(gooddata)[70+i],sum(gooddata[,70+i],na.rm=FALSE),196-sum(gooddata[,70+i],na.rm=FALSE)) } truesandfalses<-rbind("TRUEs"=colSums(gooddata[,71:87]),"FALSEs"=196-colSums(gooddata[,71:87])) correctFalse<-array() correctTrue<-array() incorrectFalse<-array() incorrectTrue<-array() for(i in c(1:nrow(gooddata))) { if(gooddata$acceptance_MM[i]==FALSE && gooddata$acceptance[i]==FALSE) correctFalse<-append(correctFalse,i) if(gooddata$acceptance_MM[i]==TRUE && gooddata$acceptance[i]==TRUE) correctTrue<-append(correctTrue,i) if(gooddata$acceptance_MM[i]==FALSE && gooddata$acceptance[i]==TRUE) incorrectFalse<-append(incorrectFalse,i) if(gooddata$acceptance_MM[i]==TRUE && gooddata$acceptance[i]==FALSE) incorrectTrue<-append(incorrectTrue,i) } correctFalse<-correctFalse[-1] correctTrue<-correctTrue[-1] incorrectFalse<-incorrectFalse[-1] incorrectTrue<-incorrectTrue[-1] length(correctFalse) length(correctTrue) length(incorrectFalse) length(incorrectTrue) mm_efficiency <- matrix(c(length(correctTrue),length(incorrectTrue),length(incorrectFalse),length(correctFalse)),ncol=2) colnames(mm_efficiency) <- c("MM_true","MM_false") rownames(mm_efficiency) <- c("automatic_true","automatic_false") par(mai=c(3,1,1,1)) barplot(truesandfalses[1,],main="Number of parts passing test (for all tests)",ylab="Number of parts passing test",las=3) abline(h=196,col="red")