我们可以在R?
中使用tapply函数和ks.test一起使用Tapply用于一次在多个结果上应用函数。
tapply(airquality$Month,airquality$Day, ks.test)
当我使用该功能时,我得到了如下错误:
Error in FUN(X[[i]], ...) : argument "y" is missing, with no default
有人可以建议有可能在ks.test中使用tapply吗?
答案 0 :(得分:0)
正如@HubertL所提到的,ks.test
中的R
需要y参数,因此错误告诉你'y'缺失。从文档中,对于两个样本KS测试,y应该是数字向量。如果你正在进行一个样本ks测试,y应该是你要比较的分布的字符串(例如pnorm表示正常,p.gamma表示gamma)。
我认为这就是你想要的:
tapply(airquality$Month, airquality$Day, ks.test, y = "pnorm")
dplyr
解决方案(列表列)
airquality %>% group_by(Day) %>% do(test_result = ks.test(.$Month, y = "pnorm")
如果您想获得两个变量的ks.test,那么您需要:
lapply(airquality[c("Month", "Day")], ks.test, y = "pnorm")