2017-10-06 124 views
1

在R中,str()便於顯示對象的結構,例如lm()和其他建模函數返回的列表的列表,但它給出了太多的輸出。我正在尋找一些工具來創建一個簡單的樹形圖,只顯示列表元素及其結構的名稱生成顯示R對象結構的圖形樹圖

例如,在這個例子中,

data(Prestige, package="car") 
out <- lm(prestige ~ income+education+women, data=Prestige) 
str(out, max.level=2) 
#> List of 12 
#> $ coefficients : Named num [1:4] -6.79433 0.00131 4.18664 -0.00891 
#> ..- attr(*, "names")= chr [1:4] "(Intercept)" "income" "education" "women" 
#> $ residuals : Named num [1:102] 4.58 -9.39 4.69 4.22 8.15 ... 
#> ..- attr(*, "names")= chr [1:102] "gov.administrators" "general.managers" "accountants" "purchasing.officers" ... 
#> $ effects  : Named num [1:102] -472.99 -123.61 -92.61 -2.3 6.83 ... 
#> ..- attr(*, "names")= chr [1:102] "(Intercept)" "income" "education" "women" ... 
#> $ rank   : int 4 
#> $ fitted.values: Named num [1:102] 64.2 78.5 58.7 52.6 65.3 ... 
#> ..- attr(*, "names")= chr [1:102] "gov.administrators" "general.managers" "accountants" "purchasing.officers" ... 
#> $ assign  : int [1:4] 0 1 2 3 
#> $ qr   :List of 5 
#> ..$ qr : num [1:102, 1:4] -10.1 0.099 0.099 0.099 0.099 ... 
#> .. ..- attr(*, "dimnames")=List of 2 
#> .. ..- attr(*, "assign")= int [1:4] 0 1 2 3 
#> ..$ qraux: num [1:4] 1.1 1.44 1.06 1.06 
#> ..$ pivot: int [1:4] 1 2 3 4 
#> ..$ tol : num 1e-07 
#> ..$ rank : int 4 
#> ..- attr(*, "class")= chr "qr" 
#> $ df.residual : int 98 
... 

我希望得到的東西是這樣的:

enter image description here

這與我從tree得到的文件夾在我的文件系統:

C:\Dropbox\Documents\images>tree 
Folder PATH listing 
Volume serial number is 2250-8E6F 
C:. 
+---cartoons 
+---chevaliers 
+---icons 
+---milestones 
+---minard 
    +---minard-besancon 

結果可能是ei在圖形字符中,如tree或上面顯示的實際圖形。有這樣的東西嗎?

+0

難道你參考這個鏈接https://stackoverflow.com/questions/36094183/how-to-build-從目錄樹樹狀圖? – amrrs

+0

我沒有見過這個。這是一個很好的參考。 – user101089

回答

1

一個簡單的方法來獲得這個從str輸出會是這樣的......

a <- capture.output(str(out, max.level=2)) 
a <- trimws(gsub("\\:.*", "", a[grepl("\\$", a)])) 
cat(a, sep="\n") 

$ coefficients 
$ residuals 
$ effects 
$ rank 
$ fitted.values 
$ assign 
$ qr 
..$ qr 
..$ qraux 
..$ pivot 
..$ tol 
..$ rank 
$ df.residual 
$ xlevels 
$ call 
$ terms 
$ model 
..$ prestige 
..$ income 
..$ education 
..$ women