我曾尝试执行Kruskal-Wallis测试,但我不确定数据是否正确排序,因此,我不知道结果是否正确。
我仍然不知道如何验证它是正确的,我不知道您是否可以帮助我识别错误。
谢谢。
数据:
有13个样本和138个观察,按月划分。
ï..meses fajerae
1 ene-15 0
2 ene-15 1
3 ene-15 0
4 ene-15 0
5 ene-15 0
6 ene-15 0
7 ene-15 1
8 ene-15 1
9 ene-15 0
10 ene-15 1
11 feb-15 0
12 feb-15 0
13 feb-15 0
14 feb-15 1
15 feb-15 0
16 feb-15 1
17 feb-15 1
18 feb-15 0
19 feb-15 0
20 feb-15 3
21 feb-15 2
22 feb-15 2
23 feb-15 0
24 feb-15 0
25 feb-15 1
26 mar-15 1
27 mar-15 0
28 mar-15 3
29 mar-15 3
30 mar-15 1
31 mar-15 4
32 mar-15 2
33 mar-15 5
34 mar-15 0
35 mar-15 1这里我做的是Kruskal-Wallis测试。
#kruskal-wallis test
setwd("~/")
datos <- read.csv(file.choose(), header = TRUE)
datos
#estructura de los datos
str(datos)
attach(datos)
names(datos)
class(datos)
factor(datos)这里它无法识别级别,结果为空,我希望它能显示月份、ene-15、Feb-15、Mar-15、11-15等。
levels(datos$ï..meses)但在表中,它是正确的。
table(datos$ï..meses)
abr-17 dic-15 dic-16 dic-17 ene-15 ene-16 ene-17 ene-18 feb-15 feb-16 mar-15
10 10 10 12 10 10 13 20 15 2 10
mar-17 nov-15
4 12我做了同质性测试
# Homocedasticidad: la varianza debe de ser constante entre todos los grupos.
leveneTest(fajerae ~ ï..meses, data = matriz, center = "median")
#Results#
Levene's Test for Homogeneity of Variance (center = "median")
Df F value Pr(>F)
group 12 1.8447 0.04784 *
125
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Warning message:
In leveneTest.default(y = y, group = group, ...) : group coerced to factor.还有Kruskal-Wallis测试,它给了我一个结果,但我不知道如何检查它是否正确。
kruskal.test(fajerae ~ ï..meses, data = matriz)
#Results#
Kruskal-Wallis rank sum test
data: fajerae by ï..meses
Kruskal-Wallis chi-squared = 24.493, df = 12, p-value = 0.01742发布于 2020-10-07 15:40:14
问题中的代码可以简化。
1.加载您要使用的非基包。
library(car)2.使用str检查您的数据结构。
str(datos)
#'data.frame': 35 obs. of 2 variables:
# $ ï..meses : chr "ene-15" "ene-15" "ene-15" "ene-15" ...
# $ fajerae : int 0 1 0 0 0 0 1 1 0 1 ...名字是ï..meses,它的口音和无意义的圆点相当丑陋,这让它更漂亮。
names(datos)[1] <- "meses"从str的输出中可以知道meses属于"character"类,因此下一条指令应该返回NULL。
levels(datos$meses)
#NULL但如果你想要一个因素,它很简单
datos$meses <- factor(datos$meses)3 meses的发行版
table(datos$meses)
#
#ene-15 feb-15 mar-15
# 10 15 10 4.通过meses组确定同质性。
leveneTest(fajerae ~ meses, data = datos, center = "median")
#Levene's Test for Homogeneity of Variance (center = "median")
# Df F value Pr(>F)
#group 2 3.4584 0.04367 *
# 32
#---
#Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 15.最后,库斯考尔-瓦利斯测试。
如果您正在尝试确定这些组是否具有相同的中位数,为什么不先检查箱形和胡须图?请参阅 data。
boxplot(fajerae ~ meses, data = datos)

这些组似乎有不同的位置,用非参数检验证实。
kruskal.test(fajerae ~ meses, data = datos)
#
# Kruskal-Wallis rank sum test
#
#data: fajerae by meses
#Kruskal-Wallis chi-squared = 6.8633, df = 2, p-value = 0.03233
#你会问测试是否正确。是的,从这个意义上讲,base R函数经过了无数次的编码和测试,这些年来,无数的用户都在使用它。这是否是预期的是另一个问题,只有你才能回答它。
采用 dput 格式的数据。
datos <-
structure(list(meses = c("ene-15", "ene-15", "ene-15", "ene-15",
"ene-15", "ene-15", "ene-15", "ene-15", "ene-15", "ene-15", "feb-15",
"feb-15", "feb-15", "feb-15", "feb-15", "feb-15", "feb-15", "feb-15",
"feb-15", "feb-15", "feb-15", "feb-15", "feb-15", "feb-15", "feb-15",
"mar-15", "mar-15", "mar-15", "mar-15", "mar-15", "mar-15", "mar-15",
"mar-15", "mar-15", "mar-15"), fajerae = c(0L, 1L, 0L, 0L, 0L,
0L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 1L, 1L, 0L, 0L, 3L, 2L,
2L, 0L, 0L, 1L, 1L, 0L, 3L, 3L, 1L, 4L, 2L, 5L, 0L, 1L)),
class = "data.frame", row.names = c("1", "2", "3", "4", "5",
"6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17",
"18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28",
"29", "30", "31", "32", "33", "34", "35"))https://stackoverflow.com/questions/64237979
复制相似问题