I bileşimleri, önce kullanılmış, bu yaklaşım R.R listesindeki bir işleve nasıl geçiş yapılır?
bir işlev için bir liste geçmek hakkında bilgi bulma zorluğu ettirmektedirler
plot(list(x=1,y=1))
ancak aşağıdaki örnek bana bir hata veriyor:
foo <- function(a, b) c <- a + b
foo(list(a=1,b=1))
Error in foo(list(a = 1, b = 1)) :
argument "b" is missing, with no default
Dahası, ?function
çalışmaz ve help('function')
bir işleve bir liste geçirerek hakkında bilgi sağlamaz.
netleştirmek için güncelleme, ben tek argüman olarak bir liste nasıl kullanabileceğinizi anlıyorum ama işlevlerin bir özellik birden argümanlar olarak iletilen olabileceğini oldu izlenim çünkü karıştı bir liste. Bu izlenimin yanlış olduğu anlaşılıyor. Daha ziyade, aşağıdaki yorum ve cevaplarda açıklandığı gibi, pek çok işlev özellikle listelerin işlenmesi için yazılmıştır.
Tek 2. Doğru çağrı olacağını beklediğini fonksiyonunuza argüman geçiyoruz: (1), b = liste foo (a = listesi (2)). Eğer fonksiyonunuza tek bir listeyi geçmek istediyseniz, bunu (a) fonksiyonu olarak ilan etmeli ve sonra yaptığınız gibi çağırmalısınız. Sayısal olmayan argümanları böyle bir şekilde ekleyemediğinizden ve fonksiyonlarınızı istediğiniz yerde elde etmek için (yani tahmin etmek) yani [[1]] [[1]]. – diliop
Gözden bakmadım, ama tahmin ediyorum ki 'arsa' listeleri yöneten bir yönteme sahip. Foo ile benzer bir şey yapmak için, jenerik yapmak ve uygun yöntemler yazmak gerekir. –
@Joshua, açıklama için teşekkürler. Bir listenin özel muamele olmadan geçebileceği izlenimi altındaydım. –