ฉันสับสนในเรื่องต่อไปนี้และฉันไม่สามารถหาคำตอบที่อื่นได้
ฉันพยายามเรียนรู้ R ในขณะที่ทำสถิติและในการออกกำลังกายฉันพยายามตรวจสอบผลลัพธ์ของฟังก์ชั่น R ในตัวอีกครั้งโดยทำสิ่งเหล่านี้ 'ด้วยมือ' ตามที่เป็นอยู่ในอาร์อย่างไรก็ตาม สำหรับการทดสอบ Kruskal-Wallis ฉันได้รับผลลัพธ์ที่แตกต่างกันไปและฉันไม่สามารถหาสาเหตุได้
ตัวอย่างเช่นฉันกำลังดูข้อมูลต่อไปนี้ที่แจกในแบบฝึกหัด
activity <- c(2, 4, 3, 2, 3, 3, 4, 0, 4, 3, 4, 0, 0, 1, 3, 1, 2, 0, 3, 1, 0, 3, 4, 0, 1, 2, 2, 2, 3, 2)
group <- c(rep("A", 11), rep("B", 10), rep("C", 9))
group <- factor(group)
data.raw <- data.frame(activity, group)
และฉันต้องการวิเคราะห์กิจกรรมตามกลุ่ม ก่อนอื่นฉันรันการทดสอบ Kruskal-Wallis โดยใช้ฟังก์ชั่น R ในตัว
kruskal.test(activity ~ group, data = data.raw)
ซึ่งผลตอบแทน8.9056
ในการตรวจสอบอีกครั้งฉันลองทำแบบเดียวกันด้วยมือใน R โดยใช้โค้ดต่อไปนี้
rank <- rank(activity)
data.rank <- data.frame(rank, group)
rank.sum <- aggregate(rank ~ group, data = data.rank, sum)
x <- rank.sum[1,2]^2 / 11 + rank.sum[2,2]^2 / 10 + rank.sum[3,2]^2 / 9
H <- (12 / (length(activity) * (length(activity) + 1))) * x - 3 * (length(activity) + 1)
H
ซึ่งมีความหมายเพื่อสะท้อนสูตรต่อไปนี้:
ที่ไหนคือจำนวนของการสังเกตเป็นจำนวนของกลุ่มที่เป็นจำนวนของการสังเกตในที่กลุ่ม, th และคือผลรวมของการจัดอันดับของกลุ่ม TH
และตอนนี้ฉันได้ซึ่งเพิ่มความสับสนของฉันก็เป็นคำตอบสำหรับการออกกำลังกาย ฉันได้ลองใช้ชุดข้อมูลที่แตกต่างกันสองสามชุดและฉันมักจะได้ค่าที่สูงขึ้นเล็กน้อยสำหรับโดยใช้ฟังก์ชันที่สร้างขึ้น
ฉันพยายามค้นหาเพื่อค้นหาสิ่งที่ฉันทำผิดหรือไม่เข้าใจ แต่ก็ไม่มีประโยชน์ ทุกคนสามารถช่วยฉันเข้าใจว่าทำไมkruskal.test
ฟังก์ชั่นinbuilt จึงส่งกลับค่าที่แตกต่างจากที่ฉันได้รับจากการสะกดคำ