R-ohjelmointi.org

Tilastotieteellistä ohjelmointia R-kielellä

Hakemistopuu R:llä

Windowsin DOS:ssa (cmd.exe) on edelleen mahdollista piirtää hakemistopuu komennolla tree. Jokseenkin saman voi tehdä R:ssäkin paketilla data.tree. Alla esimerkki R:n asennuspolkua käyttäen.

Pakettiin data.tree kannattaa muutenkin tutustua, sillä paketilla voi tehdä erilaisia puuoperaatioita, jotka muuten olisivat hieman haastavampia. Paketin vinjetti antaa hyviä esimerkkejä erilaisista sovelluksista.

# Hakemistopolku
setwd("C:\\Program Files\\R\\R-3.5.0\\")
 
# Listaa tiedostot
files <- dir(full.names=T, recursive=T, include.dirs = T)
 
# Rajoita vain kansioihin
files <- dirname(files)
# tai
files <- list.dirs()
 
# Rajoitetaan hakemistojen syvyydellä
max.depth <- 3
path.lengths <- lapply(strsplit(files, "/"), length)
files <- files[path.lengths <= max.depth]
 
# Piirretään puu
library(data.tree)
mytree <- data.tree::as.Node(data.frame(pathString = files))
 
print(mytree)
              levelName
1  .                   
2   ¦--bin             
3   ¦   ¦--i386        
4   ¦   °--x64         
5   ¦--doc             
6   ¦   ¦--html        
7   ¦   °--manual      
8   ¦--etc             
9   ¦   ¦--i386        
10  ¦   °--x64         
11  ¦--include         
12  ¦   °--R_ext       
13  ¦--library         
14  ¦   ¦--base        
15  ¦   ¦--boot        
16  ¦   ¦--class       
17  ¦   ¦--cluster     
18  ¦   ¦--codetools   
19  ¦   ¦--compiler    
20  ¦   ¦--datasets    
21  ¦   ¦--foreign     
22  ¦   ¦--graphics    
23  ¦   ¦--grDevices   
24  ¦   ¦--grid        
25  ¦   ¦--KernSmooth  
26  ¦   ¦--lattice     
27  ¦   ¦--MASS        
28  ¦   ¦--Matrix      
29  ¦   ¦--methods     
30  ¦   ¦--mgcv        
31  ¦   ¦--nlme        
32  ¦   ¦--nnet        
33  ¦   ¦--parallel    
34  ¦   ¦--rpart       
35  ¦   ¦--spatial     
36  ¦   ¦--splines     
37  ¦   ¦--stats       
38  ¦   ¦--stats4      
39  ¦   ¦--survival    
40  ¦   ¦--tcltk       
41  ¦   ¦--tools       
42  ¦   ¦--translations
43  ¦   °--utils       
44  ¦--modules         
45  ¦   ¦--i386        
46  ¦   °--x64         
47  ¦--share           
48  ¦   ¦--dictionaries
49  ¦   ¦--encodings   
50  ¦   ¦--licenses    
51  ¦   ¦--make        
52  ¦   ¦--R           
53  ¦   ¦--Rd          
54  ¦   ¦--texmf       
55  ¦   °--zoneinfo    
56  ¦--src             
57  ¦   °--library     
58  ¦--Tcl             
59  ¦   ¦--bin         
60  ¦   ¦--bin64       
61  ¦   ¦--include     
62  ¦   ¦--lib         
63  ¦   °--lib64       
64  °--tests           
65      °--Examples    


Category