R语言随手笔记

用R语言遇到的一些问题。

经常看到rcs()函数,不知道什么意思。比如拟合回归时:f <- cph(S ~ rcs(age,4) + sex, x=T, y=T)

对此,丁香园里有人给出这样的看法:

-------------------------------------------------------------

rcs全称是restricted cubic spline 即限制立方样条函数。为什么用它呢?我们在做回归拟合数据时,经常对因变量和自变量的假定是:自变量和因变量呈线性关系,logistic回归是自变量和logitP,cox是指自变量和一个h(t)变换的一个东东(记不清了,抱歉),这些假定就叫线性假定。我们做回归的时候自变量包括连续变量和ordinal variable(等级有序变量)和因变量不成线性的时候,我可以转化为分类,也可以变量log变换,还有就是spline技术,也就是引入多项式,但rcs又不是简单的引入多项式,简单的说就是引入3次方的项,这和你选择的节点有关,这样处理的结果就是可以和好的拟合数据有限制了引入项的自由度,所以Harrell (rms包的作者)推崇这种建模方法。说的很概括,具体的内容搜索rcs就可以了解。Harrell的论文也可以参考,他认为节点的位置不那么重要,而节点数目很重要。

-------------------------------------------------------------

SVM的调参,关于e1071包,好像如果把数据“尺度化”(scaling)后,使用默认的参数就能训练出较好的模型。

R语言里,回归的参数,如果传formula,比如Y~X,那么这里的X不应该是dataframe或matrix,而应该用向量比如Y~x1+x2。如果向量太多,那么可以这样传两个参数:formula和data,比如glm(Y~., data=X)。这是在Logistics回归中被坑过,在predict时解决了将newdata用dataframe形式传入的问题后,总是报错说变量数不对(一方面可能fit 时有问“glm传参数data可能没传好”,另一方面newdata的dataframe可能需要转置一下)。

R语言的向量、矩阵、数据框、数组、列表等等,有点烦人,和我之前的C语言系列思维差别太大。

R的e1701中都在svm中,仅当y变量是factor类型时构建SVC,否则构建SVR

猜你喜欢

转载自blog.csdn.net/fjsd155/article/details/84350557