---
title: 不懂原理请慎用R
date: '2008-11-24'
slug: never-use-r-before-understanding-theories
---

请各位客官谨记：R是一把锋利的刀，用得不好会割到自己（so sharp that you'll cut yourself）。近日一位小同学的一个问题真是让我颇有些生气。

带着图形界面统计软件的思维来用R的话，十有八九会割到自己。在SPSS、SAS等工具中，虽然看着满屏幕的按钮，但大部分人可能也不害怕，因为不用管它们是什么意思，瞎选一通，按OK，下面就可以洋洋自得看着长篇大论的报表出来了，这种过程很是爽。

到了R的世界，满屏幕只有代码，后来好不容易明白了，原来R不用编程，调用现成函数就可以了，于是乎，开始把各式各样的数据、参数往函数里面扔，扔完了summary()一下，长篇大论的报表也出来了，甚爽。直到有一天，R向你报告说某地方出错了，于是傻了。

这里的案例是AdaBoost，这位同学用adabag包中的adaboost.M1()函数对树模型做boosting，却被告知无法进行。我看了一下数据，原来因变量是数值变量。于是火了，数值变量你咋用Adaboost.M1啊？它本身是对分类问题做的提升，对于一个回归问题非要驴唇对马嘴，这不净瞎扯么。

洒家满以为是个有趣的问题，结果饿着肚子回了邮件，真是亏大了。外专业的同仁也就罢了，俺不会说什么，关键是统计专业的。挥一挥衣袖，用膳去鸟。
