Aşağıdaki komutu regresyon modelleme hakkında bir öğreticide gördüm:
myFormula <- Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width
Bu komut tam olarak ne yapar ve ~
(tilde) komutunun rolü nedir?
Aşağıdaki komutu regresyon modelleme hakkında bir öğreticide gördüm:
myFormula <- Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width
Bu komut tam olarak ne yapar ve ~
(tilde) komutunun rolü nedir?
Yanıtlar:
Sağındaki şey <-
bir formula
nesnedir. Genellikle, solundaki şeyin ~
cevap olduğu ve sağındaki şeylerin ~
açıklayıcı değişkenler olduğu istatistiksel bir modeli belirtmek için kullanılır . Yani İngilizce'de "Türler Sepal Uzunluk, Sepal Genişlik, Petal Uzunluk ve Petal Genişliğe bağlıdır" gibi bir şey söylerdiniz .
Bu myFormula <-
satırın bir kısmı, myFormula
R kodunuzun diğer bölümlerinde kullanabilmeniz için formülü adlı bir nesnede saklar .
Formül nesnelerinin R'deki diğer yaygın kullanımları
lattice
Paket için bunları kullanır arsa için değişkenleri belirlemek . Paket için bunları kullanır planlamaktan panelleri belirtmek . Paket için bunları kullanır standart dışı geçirdikleri anlam .ggplot2
dplyr
lazyeval
skeç için iyi bir giriş veren bir formül nedir
R, ~
formüllerde kullanılmak üzere bir (tilde) operatörü tanımlar . Formüllerin her türlü kullanımı vardır, ancak belki de en yaygın olanı regresyon içindir:
library(datasets)
lm( myFormula, data=iris)
help("~")
ya help("formula")
da size daha fazla öğretecek.
@Spacedman temel bilgileri kapsıyor. Nasıl çalıştığını tartışalım.
İlk olarak, bir operatör olarak, bunun aslında bir işleve kısayol olduğunu unutmayın (iki argümanla):
> `~`(lhs,rhs)
lhs ~ rhs
> lhs ~ rhs
lhs ~ rhs
Bu, örneğin apply
aile komutlarında kullanım için bilmek yararlı olabilir .
İkinci olarak, formülü metin olarak değiştirebilirsiniz :
oldform <- as.character(myFormula) # Get components
myFormula <- as.formula( paste( oldform[2], "Sepal.Length", sep="~" ) )
Üçüncü olarak, bir liste olarak değiştirebilirsiniz :
myFormula[[2]]
myFormula[[3]]
Son olarak, formüllerle bazı yararlı hileler var ( help("formula")
daha fazla bilgi için bakın ):
myFormula <- Species ~ .
Örneğin, yukarıdaki sürüm orijinal sürümle aynıdır, çünkü nokta "henüz kullanılmayan tüm değişkenler" anlamına gelir. Bu, nihai model çağrınızda kullandığınız data.frame'e bakar, data.frame'de hangi değişkenlerin bulunduğunu görür, ancak formülünüzde açıkça belirtilmez ve noktayı bu eksik değişkenlerle değiştirir.
Species~.
kullanılan tek değişken türdür. Bu nedenle, data.frame içindeki diğer tüm değişkenlere bağlıdır.
myFormula <- Species ~ .
. Nokta hala data.frame değişkenleriyle ne zaman değiştirilir? Bir örnek