Learn R Programming

gdsfmt (version 1.8.3)

read.gdsn: Read data field of a GDS node

Description

Get data from a GDS node.

Usage

read.gdsn(node, start=NULL, count=NULL, simplify=c("auto", "none", "force"), .useraw=FALSE, .value=NULL, .substitute=NULL)

Arguments

node
an object of class gdsn.class, a GDS node
start
a vector of integers, starting from 1 for each dimension component
count
a vector of integers, the length of each dimnension. As a special case, the value "-1" indicates that all entries along that dimension should be written
simplify
if "auto", the result is collapsed to be a vector if possible; "force", the result is forced to be a vector
.useraw
use R RAW storage mode if integers can be stored in a byte, to reduce memory usage
.value
a vector of values to be replaced in the original data array, or NULL for nothing
.substitute
a vector of values after replacing, or NULL for nothing; length(.substitute) should be one or length(.value); if length(.substitute) = length(.value), it is a mapping from .value to .substitute

Value

Return an array, list, or data.frame.

Details

start, count: the values in data are taken to be those in the array with the leftmost subscript moving fastest.

References

http://github.com/zhengxwen/gdsfmt

See Also

readex.gdsn, append.gdsn, write.gdsn, add.gdsn

Examples

Run this code
# cteate a GDS file
f <- createfn.gds("test.gds")

add.gdsn(f, "vector", 1:128)
add.gdsn(f, "list", list(X=1:10, Y=seq(1, 10, 0.25)))
add.gdsn(f, "data.frame", data.frame(X=1:19, Y=seq(1, 10, 0.5)))
add.gdsn(f, "matrix", matrix(1:12, ncol=4))

f

read.gdsn(index.gdsn(f, "vector"))
read.gdsn(index.gdsn(f, "list"))
read.gdsn(index.gdsn(f, "data.frame"))


# the effects of 'simplify'
read.gdsn(index.gdsn(f, "matrix"), start=c(2,2), count=c(-1,1))
# [1] 5 6  <- a vector

read.gdsn(index.gdsn(f, "matrix"), start=c(2,2), count=c(-1,1),
    simplify="none")
#      [,1]  <- a matrix
# [1,]    5
# [2,]    6

read.gdsn(index.gdsn(f, "matrix"), start=c(2,2), count=c(-1,3))
read.gdsn(index.gdsn(f, "matrix"), start=c(2,2), count=c(-1,3),
    .value=c(12,5), .substitute=NA)


# close the GDS file
closefn.gds(f)


# delete the temporary file
unlink("test.gds", force=TRUE)

Run the code above in your browser using DataLab