我正在为data.frame
具有两个二进制变量和 13109 obs 的名为 Comp1 的独立性创建卡方检验。
在根据人口统计数据对消费者进行聚类之前,我正在使用该测试。如果这两个变量相互依赖,那么某些值将在一个簇中。这两个变量是另一个变量的子集,data.frame
有 36 个变量。
我得到一个错误,说data.frame
有character
变量而不是factors
函数str()
显示。
为什么错误说data.frame
有character
值?
数据:
> str(Comp1)
'data.frame': 13109 obs. of 2 variables:
$ HomeOwnerStatus: Factor w/ 2 levels "Own","Rent": 1 2 2 2 1 2 1 1 2 2 ...
$ MaritalStatus : Factor w/ 2 levels "Married","Single": 2 1 1 1 2 1 2 1 1 1 ...
例子:
> #Create dataset
> homeownerstatus <- c("Own", "Rent", "Own", "Own", "Rent", "Own")
> maritalstatus <- c("Married", "Married", "Married", "Single", "Single", "Married")
> Comp1 <- data.frame(homeownerstatus, maritalstatus)
解决方案错误:
> #Test binary variables for independence
> #Create matrix from data.frame
> DF4 <- as.matrix(Comp1)
> #Comparison of marital status and home owner status
> #Perform chi-squared test for independence of two variables
> chisq.test(table(Comp1))
Chi-squared test for given probabilities
data: table(DF4)
X-squared = 295149.5, df = 71, p-value < 2.2e-16