half_matrix
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| half_matrix [2008/01/29 10:31] – heidi | half_matrix [2008/09/23 09:44] (current) – heidi | ||
|---|---|---|---|
| Line 48: | Line 48: | ||
| numericMatrix | numericMatrix | ||
| </ | </ | ||
| + | |||
| + | ===== read half matrix out of full matrix ===== | ||
| + | * file: read_tag-halfOutOfFullMatrix.r | ||
| + | |||
| + | \\ | ||
| + | **code:** | ||
| + | < | ||
| + | #----open XML package----------------------------------------------------------- | ||
| + | library(XML) | ||
| + | |||
| + | #----read data between an XML tag----------------------------------------------- | ||
| + | filename = " | ||
| + | tag = "// | ||
| + | doc = xmlTreeParse(filename, | ||
| + | ch = getNodeSet(doc, | ||
| + | |||
| + | subDoc = xmlDoc(ch[[1]]) | ||
| + | tagData <- xpathApply(subDoc, | ||
| + | free(subDoc) | ||
| + | |||
| + | |||
| + | # | ||
| + | #----split string---- | ||
| + | tagData2 <- as.character(xmlText) | ||
| + | |||
| + | tagData3 <- strsplit(tagData2, | ||
| + | tagMatrix <- as.matrix(as.data.frame(tagData3)) | ||
| + | tagMatrix <- gsub(" + ", " ", tagMatrix) | ||
| + | |||
| + | tagMatrix <- tagMatrix[4: | ||
| + | Data <- strsplit(tagMatrix, | ||
| + | |||
| + | #----to numeric matrix---- | ||
| + | Row <- length(Data) | ||
| + | |||
| + | Matrix <- matrix(NA, ncol=1, nrow=Row) | ||
| + | numericList <- as.numeric(Matrix) | ||
| + | numericMatrix <- t(as.matrix(numericList)) | ||
| + | |||
| + | for(n in 2:(Row)){ | ||
| + | nextrow <- as.matrix(as.data.frame(Data[[n]][3: | ||
| + | nextrow <- rbind(nextrow, | ||
| + | #nextrow <- nextrow[3: | ||
| + | numericList <- as.numeric(nextrow) | ||
| + | numericMatrix <- rbind(numericMatrix, | ||
| + | } | ||
| + | numericMatrix | ||
| + | </ | ||
| + | |||
half_matrix.1201599090.txt.gz · Last modified: 2008/07/22 13:30 (external edit)