library(caret) DataFolder = "/Users/ml/Library/Mobile Documents/com~apple~CloudDocs/PhD/Non Thesis/Research Papers/VovelMetric(ExtensionOfStrengthMetric)/Resources/EditableStuff/Experiment/SelectedProjects" file_list <- list.files(path = DataFolder) for (i in 1:length(file_list)) { fileName = paste(DataFolder,"/", file_list[i], sep = "") thedata <- read.csv(fileName)[, c( 'StrengthOut', 'StrengthIn', 'RFC', 'FanIn', 'FanOut', 'CBO', 'Bug' )] pData <- thedata[ which(thedata$Bug==1),] nData <- thedata[ which(thedata$Bug==0),] tInstances = nrow(thedata) pInstances = nrow(pData) nInstances = nrow(nData) CBOs = paste(min(thedata$CBO), max(thedata$CBO), mean(thedata$CBO), median(thedata$CBO), sd(thedata$CBO), var(thedata$CBO)) FanIns = paste(min(thedata$FanIn), max(thedata$FanIn), mean(thedata$FanIn), median(thedata$FanIn), sd(thedata$FanIn), var(thedata$FanIn)) FanOuts = paste(min(thedata$FanOut), max(thedata$FanOut), mean(thedata$FanOut), median(thedata$FanOut), sd(thedata$FanOut), var(thedata$FanOut)) RFCs = paste(min(thedata$RFC), max(thedata$RFC), mean(thedata$RFC), median(thedata$RFC), sd(thedata$RFC), var(thedata$RFC)) StrengthIns = paste(min(thedata$StrengthIn), max(thedata$StrengthIn), mean(thedata$StrengthIn), median(thedata$StrengthIn), sd(thedata$StrengthIn), var(thedata$StrengthIn)) StrengthOuts = paste(min(thedata$StrengthOut), max(thedata$StrengthOut), mean(thedata$StrengthOut), median(thedata$StrengthOut), sd(thedata$StrengthOut), var(thedata$StrengthOut)) fname = sub(' ','',file_list[i]) # print(paste(fname,tInstances, pInstances, nInstances, CBOs,FanIns, FanOuts, RFCs, StrengthIns, StrengthOuts)) print(paste(fname,tInstances, pInstances, nInstances)) } getmode <- function(v) { uniqv <- unique(v) uniqv[which.max(tabulate(match(v, uniqv)))] } library(philentropy) library(caret) DataFolder = "/Users/ml/Library/Mobile Documents/com~apple~CloudDocs/PhD/FinalThesisWriteup/Resources/EditableStuff/FirstExperiment/StatisOfDatasets.csv" kc1<-c(145,60,85,0,24,8.317241379,8,0,6.376719211,40.66254789,3,24,12.3,13,14,5.600544768,31.36610169,0,18,5.505882353,4,0,5.324300825,28.34817927,0,61,11.8311961,8.666667,0,12.11931364,146.8777632,0,55.954546,17.36453212,14.8376625,33.521739,11.60535236,134.6842034,0,61,7.925311859,3.208333,0,10.94912872,119.8834196,0,100,17.42068966,12,8,17.44900067,304.4676245,5,99,21.53333333,15.5,7,18.97408283,360.0158192,0,100,14.51764706,10,5,15.76283435,248.4669468,0,222,34.37931034,28,38,36.20295203,1310.653736,5,198,41.43333333,34.5,38,37.77245282,1426.758192,0,222,29.4,24,8,34.41040817,1184.07619) thedata <-read.csv(DataFolder, header = FALSE) normalize <- function(x) { return((x- min(x)) /(max(x)-min(x))) } for (i in 2:length(thedata)){ thedata[i] = normalize(thedata[i]) } write.csv(thedata, file = "/Users/ml/Library/Mobile Documents/com~apple~CloudDocs/PhD/FinalThesisWriteup/Resources/EditableStuff/FirstExperiment/Normalized.csv") DataFolder = "/Users/ml/Library/Mobile Documents/com~apple~CloudDocs/PhD/FinalThesisWriteup/Resources/EditableStuff/FirstExperiment/Normalized.csv" thedata<- read.csv(DataFolder, header = TRUE) kc1<-c(0.063829787,0.268817204,0.037426901,0,0.024242424,0.426473709,1,0,0.14053563,0.042608632,0.125,0.024242424,0.040840259,0.0625,0.078431373,0.03854331,0.00339044,0,0.044728435,0.362054355,0.5,0,0.196229745,0.05746579,0,0,0,0,0,0,0,0,0,0,0,0.02001581,0,0,0,0,0,0,0,0,0,0,0.221621622,0.860453185,1,1,0.413408847,0.21270013,0.076923077,0.218918919,0.060257407,0.037549407,0.018382353,0.183605452,0.042478355,0,0.71875,1,1,1,0.75928633,0.609520558,0,0.510152284,0.978574907,1,1,0.858947844,0.762486647,0.035714286,0.449238579,0.128577083,0.100790514,0.121323529,0.392350694,0.179955527,0,1,1,1,1,1,1) for (i in 1:nrow(thedata)){ others<-as.double(unlist(thedata[i,2:length(thedata)])) x = rbind(kc1,others) d = distance(x, method = "euclidean") print(paste(thedata[i,1], d)) } # define a probability density function P P <- 1:10/sum(1:10) # define a probability density function Q Q <- 20:29/sum(20:29) # combine P and Q as matrix object x <- rbind(P,Q)