Veri çerçevesinde sahip olduğum bazı verileri normalleştirmeye çalışıyorum. Ben her değeri alıp ortalama ve değer yaşıyor sütunun standart sapma ile birlikte pnorm işlevi aracılığıyla çalıştırmak isteyen döngüler kullanarak, burada yapmak istediğim şeyi yazabilir gibi olacaktır:.Veri çerçevesinin sütunlarına pismeyi uygulama
#example data
hist_data <- data.frame(matrix(rnorm(200,mean=5,sd=.5),nrow=20))
n <- dim(hist_data)[2] #columns=10
k <- dim(hist_data)[1] #rows =20
#set up the data frame which we will populate with a loop
normalized <- data.frame(matrix(nrow = nrow(hist_data), ncol = ncol(hist_data)))
#hot loop in loop action
for (i in 1:n){
for (j in 1:k){
normalized[j,i] <- pnorm(hist_data[j,i],
mean = mean(hist_data[,i]),
sd = sd(hist_data[,i]))
}
}
normalized
Görünüşe göre, R'de bunu yapmanın kullanışlı bir dandy vektör yolu olmalı. zaman hüsran
#trouble ahead
hist_data <- data.frame(matrix(rnorm(200, mean = 5,sd = .5), nrow=10))
normalized <- apply(hist_data, 2, pnorm, mean = mean(hist_data), sd = sd(hist_data))
normalized
Much beklediğim üretmek ETMEZ: Öyle uygulamak işlevini kullanarak çalıştı zeki olduğunu düşünüyorum. Çıkışın sol üst ve alt sağ öğeleri doğrudur, ama bu kadar. Öyleyse hayatımı nasıl özümseyebilirim?
İkinci kod bloğumun gerçekte ne yaptığını bana söylerseniz bonus puanları. Benim için hala bir gizem. :)
yapmaya çalıştığın şey hakkında bir şey cevap veremez adam çok hayır istatistikler değilim, kelime satırlar ve sütunlar ters çevrilir yorumlar. Ayrıca, sütunları ve satırları tutmak için n ve k değişkenlerini tanımlarsınız, sonra bunları matris komutunda kullanamazsınız. Bunu temizlemek isteyebilir, böylece diğerleri karışmaz. –
ifadesinde geriye doğru iyi bir nokta. Fakat n ve k için olduğu gibi, "(i: 1: n) için" ve "için (j in 1: k)" –
Sağda kullanılır. O ikinci kısmı kaçırdı. İyi yazı! –