我使用的是MASS包中的波士顿房屋数据集,并使用R中的gam包中的样条。但是,会返回一个错误,代码如下:
library(gam)
library(MASS)
library(tidyverse)
Boston.gam <- gam(medv ~ s(crim) + s(zn) + s(indus) + s(nox) + s(rm) + s(age) + s(dis) + s(rad) + s(tax) + s(ptratio) + s(black) + s(lstat), data = Boston)
错误消息为:
A smoothing variable encountered with 3 or less unique values; at least 4 needed
导致问题的变量是chas,它只有两个值,1和0。
什么是用于确定某列是否具有3个或更少的唯一值以便从样条分析中消除该列的检验?
2条答案
按热度按时间mbjcgjjk1#
base R
dplyr
lnvxswe22#
这样行吗?
您可以使用
dplyr::n_distinct()
来执行唯一性检查。