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