R, R tam olarak temel işlevleri aynı adı taşıyan değişkenler olması ile sorun nedir?
Genel olarak kötü programlama uygulama olarak kabul edilmesi için aynı adı taşıyan R temel işlevleri olan değişken isimlerini kullanmak gibi görünüyor.
Örneğin, cazip yazmak için:
data <- data.frame(...)
df <- data.frame(...)
Şimdi, işlevi data yük veri fonksiyonu df f yoğunluk işlevini hesaplar iken ayarlar.
Benzer şekilde, cazip yazmak için:
a <- 1
b <- 2
c <- 3
Bu işlevi c argümanları birleştirir çünkü kötü karşılanır.
Ama:R fonksiyonları olan beygir, lm, doğrusal modeller hesaplamak için, data bağımsız değişken olarak kullanılır. Başka bir deyişle, data olur lm işlev içinde açık bir değişken.
Yani:Eğer R çekirdek ekip değişkenler ve fonksiyonlar için aynı adı kullanabilirsiniz eğer, biz gibilerin ne durdurur?
Cevap R karışık değil. Ben açıkça adı c ile bir değişken atamak nerede aşağıdaki örnek, deneyin. R değişken ve fonksiyon arasındaki fark: hiç de karışık değil
c("A", "B")
[1] "A" "B"
c <- c("Some text", "Second", "Third")
c(1, 3, 5)
[1] 1 3 5
c[3]
[1] "Third"
Soru:Tam olarak temel R fonksiyonu olarak aynı ada sahip değişken olmasındaki sorun nedir?
CEVAP
Gerçekten bir tane bile yok. R normalde bir fonksiyonu ararken nesneleri (sigara işlev nesneleri) arama:
> mean(1:10)
[1] 5.5
> mean <- 1
> mean(1:10)
[1] 5.5
> rm(mean)
> mean(1:10)
[1] 5.5
Zavallı kodlama çıkış yakalar nereye örnekler ve @Sacha Joris @tarafından gösterilir. foo yazmak için bir iyi bir yol
foo <- function(x, fun) {
fun <- match.fun(fun)
fun(x)
}
Kullanıldığında verir:
> foo(1:10, mean)
[1] 5.5
> mean <- 1
> foo(1:10, mean)
[1] 5.5
Orada durumlarda nerede bu yakalamak ve @Joris örnek na.omit biri, IIRC, oluyor çünkü bu standart, standart dışı değerlendirme kullanılan lm().
Birçok sorunun cevabı da işlevleri sorunun maskeleme T vs TRUE sorunu birleştirmek zorunda. T TRUE biraz @Andrie bu sorunun kapsamı dışında bir işlevleri yok.

Çoklu kalıtım ile tam olarak sorun ned...
Olan proje ile aynı adı taşıyan birden...
Tam olarak Huzurlu programlama nedir?...
Bir JavaBean tam olarak nedir?...
Nasıl bir WordPress kullanmak ile aynı...