因此,我们可以运行 KS 测试来评估 dtwo 数据集的分布是否存在差异,如此处所述。
因此,让我们获取以下数据
set.seed(123)
N <- 1000
var1 <- runif(N, min=0, max=0.5)
var2 <- runif(N, min=0.3, max=0.7)
var3 <- rbinom(n=N, size=1, prob = 0.45)
df <- data.frame(var1, var2, var3)
然后我们可以根据 var3 结果分开
df.1 <- subset(df, var3 == 1)
df.2 <- subset(df, var3 == 0)
现在我们可以运行 Kolmogorov-Smirnov 检验来检验每个变量分布的差异。
ks.test(jitter(df.1$var1), jitter(df.2$var1))
ks.test(jitter(df.1$var2), jitter(df.2$var2))
毫不奇怪,我们没有发现差异,并且可以假设不同的数据集是从相同的分布中提取的。这可以通过以下方式可视化:
plot(ecdf(df.1$var1), col=2)
lines(ecdf(df.2$var1))
plot(ecdf(df.1$var2), col=3)
lines(ecdf(df.2$var2), col=4)
但是现在我们要考虑当我们同时考虑两者时,两者之间var3==0
的分布是否不同。
当我们有多个预测变量时,是否有 R 包来运行这样的测试var3==1
var1
var2
在这里提出了类似的问题,但没有收到任何答案
但似乎没有什么与 R 相关联