User Tools

Site Tools


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