星期五, 八月 17, 2012
笨办法学R编程(1)
在倚天屠龙记中,有一人唤作火工头陀。此人练功不靠心法,只靠模仿他人招式,由外而内,自成一家。练习编程也有如此的法门,不看文字描述,只观察和模仿别人的代码。这样也可以由外而内学会编程。《笨办法学python》的作者Zed Shaw 就说过这种笨办法入门其实更简单。阳志平在他的文章《如何学习一门新的编程语言》中也讲到,初学编程要在学习区刻意的大量练习,少看理论书。
TED上一位教育家同样谈到这么一个故事,他把一个计算机扔在一个偏远的印度小村子里不去管它,在那里没有上过学的小孩就能自己学会英语和计算机的用法。实际上人脑是非常善于自我探索和学习的。因此本系列教程的特点就是只有演示代码加少量注释。通过反复模仿和练习,揣摩代码的变化和结果,你就能自行领悟其含义,并打下坚实的编程基础。
本系列每篇文章的目的都是用R语言编程来解决一个Project Euler的问题。Project Euler是一系列由易到难的计算机编程挑战,它提供了一个平台来激发我们解决问题的灵感和思路。本人写这个教程的目的有三:一是为了好玩,二是提高编程水平,三是示范说明以提供给需要的R初学者。另外从R-Blogger上了解,已经有两位高人用R在计算Project Euler,各位也可以参照他们的文章(博客1、博客2)。
Let's Go
订阅:
博文评论 (Atom)
比两行再短还有可能不,呵呵
回复删除兄弟若有想法也不妨写出来一起参详,:-)
删除if you want, replace x with c(1:999), only have one line. But actually not difference.
删除sum(seq(3, 999, 3)) + sum(seq(5, 999, 5)) - sum(seq(15, 999, 15))
删除Euler Project肯定更喜欢这种思路 ^_^
要一句话解,有何难。
删除sum(sapply(1:999, function(x) ifelse(x%%3 & x%%5, 0, x)))
当然,纯蛋疼,其实要表达的是:
删除x <- 1:999
sum(ifelse(x%%3 & x%%5, 0,x))
和xccds的解法是一致的,留住符合的数字,再求和。
非常好~~我是个初学者~~通过这种方法学习乐趣横生,希望看到博主更多文章~
回复删除好,有这种正反馈就有干劲了。
删除博主一定要继续写下去 每天等更新
回复删除有压力,有动力。
删除初学者表示很期待该系列的文章
回复删除Follow your blog really teach me a lot about R. Thank you ~~~
回复删除我是初学者,很有趣的博文,感谢主人了,有好的这类教授课程还望多分享。
回复删除> x%%3
回复删除[1] 1 2 0 1 2 0 1 2 0 1
这样的返回代表什么?%%是整除符号么?
整除返回余数
删除清楚,谢谢!
删除Thanks a lot!
回复删除LZ加油继续更新啊 在中国把R发扬光大
回复删除Great, many thanks!
回复删除博客2惊现本人链接!!!
回复删除早看到这个博客我这学期就不会过的这么痛苦
回复删除喜欢这种学习方法 ^_^
回复删除