dplyr paketini kullanarak bir rutin yürütme konusunda sorun yaşıyorum. Kısacası, veri çerçevesini girdi olarak alan ve tek (sayısal) bir değer döndüren bir işlevim var; Bu işlevi bir veri çerçevesinin birkaç alt kümesine uygulayabilmek istiyorum. Dataframe alt kümelerini belirtmek için group_by() yöntemini kullanabiliyormuşum gibi hissettiriyor, sonra summarize() işlevine kadar boruya atıyorum, ancak (alt) veri çerçevesini I 'işlevine nasıl geçireceğimi bilmiyorum uygulamaktan hoşlanırım.dplyr, bir veri çerçevesinin bir işleviyle özetler
basitleştirilmiş bir örnek olarak, ı iris veri kümesini kullanıyorum diyelim, ben birkaç veri alt kümeleri için uygulamak istediğiniz oldukça basit bir işlevi var:
data(iris)
lm.func = function(.data){
lm.fit = lm(Petal.Width ~ Petal.Length, data = .data)
out = summary(lm.fit)$coefficients[2,1]
return(out)
}
Şimdi, bu işlevi iris alt kümelerine Türler gibi başka bir değişkeni temel alarak uygulamak istiyorum. El ile örneğin, benim işlevine birlikte daha sonra, boru verilere filtre açabiliyorum:
iris %>% filter(Species == "setosa") %>% lm.func(.)
Ama verilerinher alt küme lm.func uygulayabilecektir istiyorum türüne göre. benim fikrim lm.func işlevine iris her alt kümesini geçmek denemektir,
iris %>% group_by(Species) %>% summarize(coef.val = lm.func(.))
bildiğim halde bu işe yaramazsa: İlk düşüncem aşağıdaki gibi çalışmaktır. Veri sınırlı olduğunda gruplama değişkenin her bir seviye ile, bir birinci ve lm.func çıkışı ile ikinci bir -
iki sütunlu bir dataframe ile bitirmek için de açıklığa kavuşturmak gruplama değişkeni tarafından belirtilen bir alt kümesi.Bu şekilde summarize() kullanmak mümkün mü?
Bu çözüldü - teşekkürler akrun! –