table
read able data with names
- file: read_tag-table(with names).r
- document page: 39
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 = "//theta" 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 (table with names) 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 #--------names-------- Names <- tagMatrix[9] Names <- strsplit(Names, " ") Names <- as.matrix(as.data.frame(Names)) Names <- Names[3:(nrow(Names)-2)] Names #--------data-------- tagMatrix <- tagMatrix[11:nrow(tagMatrix)] Data <- strsplit(tagMatrix, " ") #----to numeric matrix---- Row <- length(Data) Matrix <- as.matrix(as.data.frame(Data[1])) Matrix <- Matrix[3:(nrow(Matrix)-2)] 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)-2)] nextrow <- as.numeric(nextrow) numericMatrix <- rbind(numericMatrix, t(as.matrix(nextrow))) } numericMatrix # numericTable <- as.table(numericMatrix) # numericTable
table.txt · Last modified: 2008/07/22 13:31 by 127.0.0.1