我是统计和 R 的新手,我在使用 Levene 函数时遇到了麻烦(我想检查两个样本的方差是否相等)。文档说我应该运行:
levene.test(y,组)
但我不知道我应该把什么作为 y 和 group ?我有两个不同的样本,我想检查其中的方差是否相等。我应该将样本值之一作为 y 并将第二个值作为组参数吗?
有什么提示吗?
我是统计和 R 的新手,我在使用 Levene 函数时遇到了麻烦(我想检查两个样本的方差是否相等)。文档说我应该运行:
levene.test(y,组)
但我不知道我应该把什么作为 y 和 group ?我有两个不同的样本,我想检查其中的方差是否相等。我应该将样本值之一作为 y 并将第二个值作为组参数吗?
有什么提示吗?
假设在 R 中,您的第一个样本存储在一个名为的向量中sample1
,而您的第二个样本存储在一个名为 的向量中sample2
。
您首先必须将两个样本组合在一个向量中,并创建另一个定义这两个组的向量:
y <- c(sample1, sample2)
和
group <- as.factor(c(rep(1, length(sample1)), rep(2, length(sample2))))
现在,您可以致电
library(car)
levene.test(y, group)
编辑
在 R 中尝试此操作时,我收到以下警告:
'levene.test' has now been removed. Use 'leveneTest' instead...
根据这个,你应该看看leveneTest
......
奥克拉姆的答案包含所有重要部分。但是,如果您不想加载所有 Rcmdr,则无需加载。相关库是“汽车”。但正如 ocram 所指出的, levene.test 已被弃用。请注意,弃用不是功能或代码的更改(此时,2011 年 9 月 18 日)。它只是函数名称的更改。所以 levene.test 和 leveneTest 将工作相同。作为记录,我想我会为这个简单的案例提供一个使用 leveneTest 和可重用重塑代码的示例:
#Creating example code
sample1 <- rnorm(20)
sample2 <- rnorm(20)
#General code to reshape two vectors into a long data.frame
twoVarWideToLong <- function(sample1,sample2) {
res <- data.frame(
GroupID=as.factor(c(rep(1, length(sample1)), rep(2, length(sample2)))),
DV=c(sample1, sample2)
)
}
#Reshaping the example data
long.data <- twoVarWideToLong(sample1,sample2)
#There are many different calls here that will work... but here is an example
leveneTest(DV~GroupID,long.data)
准备数据的最简单方法(在我看来)是使用 reshape2 包:
#Load packages
library(reshape2)
library(car)
#Creating example data
sample1 <- rnorm(20)
sample2 <- rnorm(20)
#Combine data
sample <- as.data.frame(cbind(sample1, sample2))
#Melt data
dataset <- melt(sample)
#Compute test
leveneTest(value ~ variable, dataset)
我这样使用它:
library(ggplot2)
library(agricolae)
library(multcomp)
library(car)
library(asbio)
library(lmPerm)
library(NSM3)
library(nlme)
library(mice)
library(agridat)
yan.winterwheat
leveneTest(yield ~ gen, data=yan.winterwheat)
#check the equality of variance of two samples
对不起这么多图书馆:) 你可以用这套 Greez JC 做很多事情