====== read full matrix data ====== * file: read_tag-fullMatrix.r * document page: 38 \\ **code:** #----open XML package----------------------------------------------------------- library(XML) #----read data between an XML tag----------------------------------------------- filename = "D:/Heidi/Master/R_Daten/XML/XML_with_inserted_data.xml" tag = "//pairwise_differences" doc = xmlTreeParse(filename, useInternal = TRUE) ch = getNodeSet(doc, tag) subDoc = xmlDoc(ch[[1]]) tagData <- xpathApply(subDoc, tag, xmlValue) free(subDoc) #print(tagData, indent=FALSE) #----convert string data (full matrix) to a numeric matrix---------------------- #----split string---- tagData2 <- as.character(tagData) tagData3 <- strsplit(tagData2, "\n") tagMatrix <- as.matrix(as.data.frame(tagData3)) tagMatrix <- gsub(" + ", " ", tagMatrix) # trim white space tagMatrix <- tagMatrix[12:nrow(tagMatrix)] Data <- strsplit(tagMatrix, " ") #----to numeric matrix---- Row <- length(Data) Matrix <- as.matrix(as.data.frame(Data[1])) Matrix <- Matrix[3:(nrow(Matrix))] Matrix <- as.numeric(Matrix) numericMatrix <- t(as.matrix(Matrix)) for(n in 2:(Row)){ nextrow <- as.matrix(as.data.frame(Data[n])) nextrow <- nextrow[3:(nrow(nextrow))] nextrow <- as.numeric(nextrow) numericMatrix <- rbind(numericMatrix, t(as.matrix(nextrow))) } numericMatrix