gpt4 book ai didi

r - 所有变量的独立性卡方检验

转载 作者:行者123 更新时间:2023-12-05 02:27:43 24 4
gpt4 key购买 nike

在我的数据集中,我有很多分类变量,我想找出这些变量之间的关联。但是,我正在努力弄清楚如何使其自动化,这样我就不必在每对之间进行卡方检验。

例如,假设我有一个数据框。

#Create variables
set.seed(123)
fruit <-c('apple','orange','orange','pear')
fav_number <- seq(from=1,to=4,1)
place <- c('nigeria','india','usa','mexico')
weather <- c('summer','winter','spring','summer')
car <- c('bmw','mercedes','honda','honda')

#Create dataframe
df <- as.data.frame(cbind(fruit,fav_number,place,weather,car))

#Convert all columns to factors
df[sapply(df, is.character)] <- lapply(df[sapply(df, is.character)],
as.factor)

所以我的输出/df 看起来像:

   fruit fav_number   place weather      car
1 apple 1 nigeria summer bmw
2 orange 2 india winter mercedes
3 orange 3 usa spring honda
4 pear 4 mexico summer honda

我可以在两个变量之间进行卡方检验:

chisq.test(table(df$place,df$fav_number))

但我想对每个变量与另一个变量进行相同的测试。我正在寻找的输出类似于您使用具有连续变量的 corr 矩阵获得的输出。

最佳答案

#Create variables
set.seed(123)
fruit<-c('apple','orange','orange','pear')
fav_number<-seq(from=1,to=4,1)
place<-c('nigeria','india','usa','mexico')
weather<-c('summer','winter','spring','summer')
car<-c('bmw','mercedes','honda','honda')

#Create dataframe
df<-as.data.frame(cbind(fruit,fav_number,place,weather,car))

#Convert all columns to factors
df[sapply(df,is.character)]<-lapply(df[sapply(df,is.character)],as.factor)
eg<-expand.grid(names(df),names(df))
eg<-eg[-which(eg$Var1==eg$Var2),]

for(i in 1:nrow(eg)) {
print(rep("#",20))
cat(as.character(eg[i,1]),as.character(eg[i,2]),"\n")
print(chisq.test(table(df[,eg[i,1]],df[,eg[i,2]])))
}

关于r - 所有变量的独立性卡方检验,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72968705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com