2015-11-19 8 views
15

Birisi yerleşik veri setleri ve bağımlılık paketlerinin listesini nasıl alacağınıza yardımcı olabilir mi?R'de yerleşik veri kümelerinin bir listesini nasıl alabilirim?

+7

'verilerle deneyin()' Sen 'ls isteyebilirsiniz – akrun

+3

("paketi: veri setlerini")' 'datasets' paketindeki tüm "yerleşik" veri kümeleri adları için. –

+1

Teşekkürler @akrun ... bu işe yaradı ... data() veri kümelerini 'veri kümeleri' paketinden döndürür ve 'data (package = .packages (all.available = TRUE))', tüm paketlerden yerleşik dataframları döndürür . – mockash

cevap

21

R dahil veri setlerini bulmak için birkaç yol vardır:

1: size tüm yüklü paketler (ve datasets paketinden sadece olanlar) veri kümelerinin listesini verecektir data() kullanmak; veri kümeleri paketin

2 göre sıralanır: bilgisayarınızda size uygun ambalajlarda tüm veri setleri bir listesini verecektir data(package = .packages(all.available = TRUE)) Kullanılması (yani aynı zamanda değil yüklenmiş olanlar)

3:data(package = "packagename") kullanma size bu özel paketin veri setlerini verecektir, bu yüzden bilmek istiyorsanız data(package = "plyr")plyr paketin


veri setlerini verecek olan bir dat paketi içinde aset bulunur (ör. veren

dat <- as.data.frame(data(package = .packages(all.available = TRUE))$results) 
dat[dat$Item=="acme", c(1,3,4)] 

:

Package Item     Title 
107 boot acme Monthly Excess Returns 
+0

Ve nasıl bir veri paketi paketi bulabilirim? Bir veri çerçevesini biliyorsanız, hangi paketin oluşturulduğunu nasıl bilebilirim? – mockash

+6

Bazı veri kümeleri için 'yardım' işlevini kullanabilirsiniz, kümenin geldiği paketi gösterir. Örneğin: 'iris'. – Heroka

1

Sık sık da mevcuttur veri kümelerinin hangi yapı bilmek gerekir, bu yüzden misc package içinde dataStr oluşturulan acme veri kümesi), yapabileceğin.

dataStr <- function(package="datasets", ...) 
    { 
    d <- data(package=package, envir=new.env(), ...)$results[,"Item"] 
    d <- sapply(strsplit(d, split=" ", fixed=TRUE), "[", 1) 
    d <- d[order(tolower(d))] 
    for(x in d){ message(x, ": ", class(get(x))); message(str(get(x)))} 
    } 
dataStr() 

Konsoldaki çıkışın çok uzun olduğunu lütfen unutmayın.

[...] 

warpbreaks: data.frame 
'data.frame': 54 obs. of 3 variables: 
$ breaks : num 26 30 54 25 70 52 51 26 67 18 ... 
$ wool : Factor w/ 2 levels "A","B": 1 1 1 1 1 1 1 1 1 1 ... 
$ tension: Factor w/ 3 levels "L","M","H": 1 1 1 1 1 1 1 1 1 2 ... 

WorldPhones: matrix 
num [1:7, 1:7] 45939 60423 64721 68484 71799 ... 
- attr(*, "dimnames")=List of 2 
    ..$ : chr [1:7] "1951" "1956" "1957" "1958" ... 
    ..$ : chr [1:7] "N.Amer" "Europe" "Asia" "S.Amer" ... 

WWWusage: ts 
Time-Series [1:100] from 1 to 100: 88 84 85 85 84 85 83 85 88 89 ... 

Düzenleme:,

ile revize çevrimiçi sürümünü kullanın lütfen daha bilgilendirici çıkışını almak ve yüksüz paketler veya arama yolunda tüm paketler için bunu kullanmak için

Bu

çıktı türüdür
source("https://raw.githubusercontent.com/brry/berryFunctions/master/R/dataStr.R") 
+0

Güzel, bu diğer paketlerle çalışmak istiyorsanız bazı değişikliklere ihtiyaç duyar. dataStr ("colorspace") # Get (x) dosyasındaki hata: 'USSouthPolygon' nesnesi bulunamadı '(colorspace :: USSouthPolygon'un çalışmasına rağmen bunu görüyorum.) – Frank

+1

Hızlı çözüm: ilk 'kitaplık (colorspace)'. Daha iyi bir çözüm artık çevrimiçi, ancak kod burada kopyalamak için çok uzun sürdü. https://github.com/brry/berryFunctions/blob/master/R/dataStr.R –

İlgili konular