决心自学R,过程中磕磕碰碰,遇到难题查阅资料、教材、help()等等等等,耗费大把大把时间,解决了,兴奋的不得了,很有成就感,恨不得向周围的朋友同事炫耀一番。可是,遇到难题就悲催了,明明在sas、spss里面很简单的事情,在R里面却找不到对应的解决方法,比如
1. 求向量中各值的构成比,sas中就是freq,spss里就是“频率”,R中花费九牛二虎之力就是找不到简单的对应函数,在人大论坛发帖子也没得到合适的答案,好心的朋友提供了方案"table(x)/length(x)",可以解决问题,但总感觉不舒服,这么常用的函数(如同mean一样)真的没有对应函数吗?
2. 分组统计,sas中就是by,spss里就是“分组”,R中的方法前天夜里一直熬夜到凌晨两点半,花费了7个多小时,终于找到了,可以用by,可以用tapply,甚至通过设置cbind向量后可以生成sas、spss都无法做到的按自己要求排列的矩阵,直接复制到word表格就ok了,当时感觉R好强大。
3. 今天晚上又花费了一晚上时间,先是寻找R中工作空间的数据库如何保存,以便下次使用。找到了,但是其他统计软件是不能够直接读的,要转换成csv、txt等通用格式,而且write函数的csv默认导入还不行,要设置“,”、设置不读行标题(否则列标题错行),现在是学习过程无所谓,真担心用在实际工作中一不小心导错(标题和数据错行),麻烦就大了。
4. 今天晚上现在遇到的问题让我有了上述小牢骚,问题就是if函数的使用,我其实就是想生成一个新变量a,里面的值要符合如下条件(x=1&y=1&z=1,x、y、z都是长度4009的向量),那么a=1,否则a=0。找了一晚上总是提示错误。最后还是用sas(if x=1 & y=1 & z=1 then a=1; else a=0)一分钟搞定,话说spss我居然没找到方法(这么简单个逻辑居然没找到方法,不会spss不能通过对话框形式完成,非要也用语法吧?苦笑啊)。
R很好,我也很喜欢,我也会继续努力学习。可是就是——“想说爱你不容易!”入门好难!一些基础的需求都很难掌握(我是指我自己,或许我太愚钝了)
最后的最后,发了这么多牢骚,其实还是想针对上述问题请教各位高手朋友,还望不吝赐教:
1. R中是否有独立单一的生成百分构成比的函数,不是指table(),这个只能统计频数;
2. R有自己独立的数据库格式吗?还是只能保存在.R数据空间中,如果需要导入其他软件就要写入到csv、txt等文件中(不谈mysql等数据库链接啥的,太高大上了)?
3. 想生成一个新变量a,里面的值要符合如下条件(x=1&y=1&z=1,x、y、z都是长度4009的向量),那么a=1,否则a=0。语句真么写,尽量不要是自己编函数吧,感觉这样有点儿杀鸡用牛刀的味道,所以今天我也没思考用编函数的方法解决这个问题?
上述问题,还望高手指点,在此多谢了!


雷达卡



京公网安备 11010802022788号







