2012-09-06 22 views
10

Sütun isimlerini bozmadan data.frame kullanmak için bir yolu var mı?data.frame

$`Canon PowerShot` 
[1] 9.997803e-01 9.997318e-01 3.327920e-01 3.327920e-01 9.988220e-01 
[6] 4.030871e-05 4.928497e-05 

$`Casio Exilim` 
[1] 5.322024e-06 9.999646e-01 5.322024e-06 5.322024e-06 9.999646e-01 
[6] 5.322024e-06 9.999646e-01 

$FinePix 
[1] 3.850036e-05 9.998887e-01 6.650074e-02 6.650074e-02 9.998465e-01 
[6] 9.998465e-01 4.345598e-05 

$`Kodak EasyShare` 
[1] 3.548812e-05 9.998604e-01 3.996137e-01 3.996137e-01 9.987841e-01 
[6] 3.179604e-05 2.789861e-05 

$`Nikon Coolpix series` 
[1] 9.156401e-02 9.998091e-01 1.995972e-01 1.995972e-01 9.996341e-01 
[6] 7.033741e-05 8.499410e-05 

ama do.call(data.frame, my_list) kullandıktan sonra, bu alın:

Canon.PowerShot Casio.Exilim  FinePix Kodak.EasyShare 
1 9.997803e-01 5.322024e-06 3.850036e-05 3.548812e-05 
2 9.997318e-01 9.999646e-01 9.998887e-01 9.998604e-01 
3 3.327920e-01 5.322024e-06 6.650074e-02 3.996137e-01 
4 3.327920e-01 5.322024e-06 6.650074e-02 3.996137e-01 
5 9.988220e-01 9.999646e-01 9.998465e-01 9.987841e-01 
6 4.030871e-05 5.322024e-06 9.998465e-01 3.179604e-05 
7 4.928497e-05 9.999646e-01 4.345598e-05 2.789861e-05 
    Nikon.Coolpix.series 
1   9.156401e-02 
2   9.998091e-01 
3   1.995972e-01 
4   1.995972e-01 
5   9.996341e-01 
6   7.033741e-05 
7   8.499410e-05 

(. Sütun adları yerine '' arasında bulunmaktadır notu)

+0

'check.names argüman kullanmak = F – mnel

cevap

13

You I yapısına aşağıdakilere sahip

check.names = FALSE ayarlanarak isimleri sözdizimi geçerli adlara değiştirerek R durdurabilirsiniz. Detaylar için bakınız ?data.frame. R içinde gerçekte bulunan data.frame'ler aslında listelerdir.

+0

bu kadar, teşekkürler – Arg

+2

Ancak, daha sonra, listedeki isimler için olduğu gibi, backticks sütun adlarını sarmak zorunda kalacaksınız. R'nin varsayılan olarak boşlukları değiştirmesinin bir nedeni, daha sonra bazı işlemleri daha kolay hale getirmesidir (ör. Sütun adları için sekmeyi tamamladığınızda). – neilfws

4

hoş serin

data.frame(my_list, check.names = FALSE) 

bu bence data.frames üzerinde lapply, kullanmanın olanaklar açılır bilendir: Bu nedenle, bu da geçerlidir

my_data <- data.frame(my_list, check.names = FALSE) 
lapply(my_data, IQR) 
İlgili konular