R对数组指定下标顺序输出
问题
|
|
table函数可以统计各个值的频度,但是输出的顺序却不是我们所期待的(期待的顺序是从星期一到星期日)。特别是使用barplot生成柱状图时,如果不按顺序,那肯定是不行的。
解决
|
|
这个方式比较曲折,应该有更直接的方式的。
|
|
table函数可以统计各个值的频度,但是输出的顺序却不是我们所期待的(期待的顺序是从星期一到星期日)。特别是使用barplot生成柱状图时,如果不按顺序,那肯定是不行的。
|
|
这个方式比较曲折,应该有更直接的方式的。
认为相同,主要是受到之前经验的影响,不过这里的ifelse是向量化的运算,返回值的长度会和test的长度一致。可以看ifelse的源码:
|
|
|
|
在ubuntu12.04上安装:
|
|
提示:
|
|
解决:
|
|
源数据保存在文件中,格式如下:
|
|
需要生成一个list,其下标是数据的字段名:drt,at,cid
开始写成这样,很别扭的代码:
|
|
借鉴tapply的源码,改成这样:
|
|
今天看到一个网易公开课的课程,想把它们下载下来,所以写了一个脚本去分析页面结构,把title和url解析出来。
脚本见https://github.com/cyy0523xc/R/blob/master/lib/cai_get_download_url.r
其他页面的数据应该也是一样的。
R扩展:http://cran.r-project.org/doc/manuals/R-exts.html
炼数成金 R中国用户组http://r.dataguru.cn/
编写R包C扩展的核心指引http://www.dataguru.cn/article-1178-1.html
关于在R programming中避免显式循环的一些方法http://www.dataguru.cn/article-3284-1.html
数据科学http://kan.weibo.com/kan/3444217594966746
R语言小站http://kan.weibo.com/kan/3484733640942053
北美18名校的数据挖掘,数据分析,人工智能及机器学习课程汇总http://kan.weibo.com/con/3547413957114530?_from=text
google:http://google-styleguide.googlecode.com/svn/trunk/Rguide.xml
中文版:http://www.road2stat.com/rstyle/rstyle.html
https://docs.google.com/document/d/1esDVxyWvH8AsX-VJa-8oqWaHLs4stGlIbk8kLc5VlII/edit
后缀通常用来表示变量的类型,如:
|
|
然后:sudo chmod +x file.r
|
|
把变量X(通常为向量)通过函数FUN作用在INDEX这个因子变量上,返回值可以根据simplify参数设置。simplify = T(默认)返回array,simplify = F则返回list。
计算各个省份的人均收入
|
|
计算各个省份在各个年份的平均收入
|
|
|
|
这个源码有可以优化的地方,例如循环体里面的:
|
|
实际上nlevels(index)只是对levels(index)取length,所以这三行代码实质上调用了levels函数三次(在一次循环体里面),调用nlevels和length两次。可以修改成这样:
|
|
有时间的话,可以考虑把tapply改成C语言实现
包括函数:lapply, sapply, vapply
|
|
该函数会返回一个长度和X参数的长度相同的列表,其中每个元素都是X参数在FUN函数作用下的结果。
|
|
|
|
一个实际的例子:一次性加载某个目录下的R文件
|
|
|
|
sapply是对lapply的封装,实现代码:
|
|
|
|
该函数和sapply类似
|
|
FUN.VALUE的值定义是?
apply(X, MARGIN, FUN, …)
|
|
按行计算
|
|
按列计算
|
|
行列同时作用
|
|
扩展参数
|
|
原程序:
|
|
因为数据量比较大,在工作的机器上跑的时间超过半小时。。。。主要原因有两个:
后来发现tapply函数可以达到目的,主要代码如下:
|
|
非常的简洁,而且时间消耗就几秒而已。