Ketika berhadapan dengan data dengan faktor R dapat digunakan untuk menghitung rata-rata untuk setiap kelompok dengan fungsi lm (). Ini juga memberikan kesalahan standar untuk estimasi cara. Tetapi kesalahan standar ini berbeda dari apa yang saya dapatkan dari perhitungan dengan tangan.
Ini adalah contoh (diambil dari sini. Memprediksi perbedaan antara dua grup dalam R )
Pertama menghitung mean dengan lm ():
mtcars$cyl <- factor(mtcars$cyl)
mylm <- lm(mpg ~ cyl, data = mtcars)
summary(mylm)$coef
Estimate Std. Error t value Pr(>|t|)
(Intercept) 26.663636 0.9718008 27.437347 2.688358e-22
cyl6 -6.920779 1.5583482 -4.441099 1.194696e-04
cyl8 -11.563636 1.2986235 -8.904534 8.568209e-10
Mencegat adalah rata-rata untuk kelompok pertama, 4 mobil silinder. Untuk mendapatkan sarana dengan perhitungan langsung, saya menggunakan ini:
with(mtcars, tapply(mpg, cyl, mean))
4 6 8
26.66364 19.74286 15.10000
Untuk mendapatkan kesalahan standar untuk cara saya menghitung variasi standar sampel dan membaginya dengan jumlah pengamatan di setiap kelompok:
with(mtcars, tapply(mpg, cyl, sd)/sqrt(summary(mtcars$cyl)) )
4 6 8
1.3597642 0.5493967 0.6842016
Perhitungan langsung memberikan rata-rata yang sama tetapi kesalahan standar berbeda untuk 2 pendekatan, saya berharap mendapatkan kesalahan standar yang sama. Apa yang terjadi disini? Ini terkait dengan lm () yang cocok dengan rata-rata untuk setiap kelompok dan istilah kesalahan?
Diedit: Setelah jawaban Svens (di bawah) saya dapat merumuskan pertanyaan saya lebih ringkas dan jelas.
Untuk data kategorikal kita dapat menghitung rata-rata variabel untuk kelompok yang berbeda adalah dengan menggunakan lm () tanpa intersep.
mtcars$cyl <- factor(mtcars$cyl)
mylm <- lm(mpg ~ cyl, data = mtcars)
summary(mylm)$coef
Estimate Std. Error
cyl4 26.66364 0.9718008
cyl6 19.74286 1.2182168
cyl8 15.10000 0.8614094
Kita dapat membandingkan ini dengan perhitungan langsung dari cara dan kesalahan standar mereka:
with(mtcars, tapply(mpg, cyl, mean))
4 6 8
26.66364 19.74286 15.10000
with(mtcars, tapply(mpg, cyl, sd)/sqrt(summary(mtcars$cyl)) )
4 6 8
1.3597642 0.5493967 0.6842016
Berarti persis sama tetapi kesalahan standar berbeda untuk 2 metode ini (seperti Sven juga perhatikan). Pertanyaan saya adalah mengapa mereka berbeda dan tidak sama?
(saat mengedit pertanyaan saya, haruskah saya menghapus teks asli atau menambahkan edisi saya seperti yang saya lakukan)