Add a folder to the GDS node

Share:

Description

Add a directory or a virtual folder to the GDS node.

Usage

1
2
addfolder.gdsn(node, name, type=c("directory", "virtual"), gds.fn="",
	replace=FALSE)

Arguments

node

an object of class gdsn.class or gds.class

name

the variable name of the added node; if it is not specified, “Item N” is assigned to name, where N is the number of child nodes plus one

type

"directory" (default) – create a directory of GDS node; "virtual" – create a virtual folder linking another GDS file by mapping all of the content to this virtual folder

gds.fn

the name of another GDS file; it is applicable only if type="virtual"

replace

if TRUE, replace the existing variable silently if possible

Value

An object of class gdsn.class.

Author(s)

Xiuwen Zheng

References

http://github.com/zhengxwen/gdsfmt

See Also

add.gdsn, addfile.gdsn

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# create the first GDS file
f1 <- createfn.gds("test1.gds")

add.gdsn(f1, "NULL")
addfolder.gdsn(f1, "dir")
add.gdsn(f1, "int", 1:100)
f1

# open the GDS file
closefn.gds(f1)

##############################################

# create the second GDS file
f2 <- createfn.gds("test2.gds")

add.gdsn(f2, "int", 101:200)

# link to the first file
addfolder.gdsn(f2, "virtual_folder", type="virtual", gds.fn="test1.gds")

f2

# open the GDS file
closefn.gds(f2)


##############################################

# open the second file (writable)
(f <- openfn.gds("test2.gds", FALSE))
# + 	[  ]
# |--+ int	{ Int32 100 }
# |--+ virtual_folder	[ --> test1.gds ]
# |  |--+ NULL	    
# |  |--+ dir	[  ]
# |  |--+ int	{ Int32 100 }

read.gdsn(index.gdsn(f, "int"))
read.gdsn(index.gdsn(f, "virtual_folder/int"))
add.gdsn(index.gdsn(f, "virtual_folder/dir"), "nm", 1:10)

f

# open the GDS file
closefn.gds(f)


##############################################
# open 'test1.gds', there is a new variable "dir/nm"

(f <- openfn.gds("test1.gds"))
closefn.gds(f)


##############################################
# remove 'test1.gds'

file.remove("test1.gds")

## Not run: (f <- openfn.gds("test2.gds"))
# + 	[  ]
# |--+ int	{ Int32 100 }
# |--+ virtual_folder	[ -X- test1.gds ]

## Not run: closefn.gds(f)


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

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.