1. 程式人生 > >Coursera系列-R Programming第二週

Coursera系列-R Programming第二週

---

好久沒發部落格

且容我大吼一句

終於做完這周R Programming的作業了!

之前一直有報coursera的課程,但是總是沒有堅持下去,這次收到他們的郵件推廣,說data science系列課程開通了R語言的中文課程,有中文版論壇,有中文字幕,如此誠意滿滿,再不報名,就實在太落伍了。

為了讓自己堅持,還花錢買了signature track,所以當這週五收到助教通知說,第一個程式設計作業週日就要截止啦,簡直讓我晴天霹靂

然後週六花了一天時間看視訊,看GITHUB裡一位大牛對這篇assignment的講解,終於完成了三個函式的編寫

總結一下經驗

1)遍歷資料夾,讀取所有資料

files_list<-list.files(directory,full.names=TRUE) #遍歷資料夾裡的檔名,這裡選擇fullname,就可以讀取工作目錄下資料夾內的檔案了
  dat<-data.frame() #需要事先設定data.frame框架,否則下列rbind迴圈會報錯
  for (i in id){
    dat<-rbind(dat,read.csv(files_list[i])) #這裡用rbind,把dat與新讀取的檔案聯合。
  }

2)迴圈與if巢狀時,要注意}的應用,否則程式會報錯

    for (i in
1:332) { #這裡有巢狀 語句 if (sum(complete)>threshold) #注意括號以及下列{}的引用 {語句1} else {語句2} }

然後對於WEEK2的課程,總結下來是:

1)儘量用有hard limit的for語句,而不是repeat或者while語句做迴圈,避免無限迴圈

2)迴圈語句巢狀2-3層即可,如果要多層巢狀,請先思考有無簡易函式可用

3)R的全域性環境,R包等,以及R為什麼要把所有資料都讀入記憶體(控制流)

4)R自編函式的主要目的是,省略重複勞作,對程式碼引用更加輕鬆

題外話

另外,在學習這門課之餘,到MOOC逛,他們最近有一個叫做hour of code的活動,號召大家從小程式碼開始(放下IPHONE,開始程式設計)。

如果新生代從小開始就接觸程式設計,那麼十幾年後,我們這些老人的優勢在哪裡呢?上海R語言會議上,有多個公司展示了他們用R做自動化報表的過程,這些原本需要人工多天的勞動,引入R後,均自動化了。那麼如果所有的事情都自動化了後,拿著excel當飯吃,不思進取的所謂資料分析師,他們未來的出路又在哪裡?

當程式語言逐步發展,當程式設計成為小學生必修課程,當excel可以做得事情,有R可以做得更好,不進步的人,就會被社會淘汰

believe tech, use tech, follow tech, can't stop

以此共勉。

---

相關推薦

Coursera系列-R Programming第二

--- 好久沒發部落格 且容我大吼一句 終於做完這周R Programming的作業了! 之前一直有報coursera的課程,但是總是沒有堅持下去,這次收到他們的郵件推廣,說data science系列課程開通了R語言的中文課程,有中文版論壇,有中文字幕,如此誠意滿滿,再不報名,就實在太落伍了。

Coursera系列-R Programming第三-詞法作用域

完成R Programming第三週 這周作業有點繞,更多地是通過一個快取逆矩陣的案例,向我們示範【詞法作用域 Lexical Scopping】的功效。但是作業裡給出的函式有點繞口,花費了我們蠻多心思。 Lexical Scopping: The value of free variables are

Coursera系列-R Programming-Final Week-Assignment3 & 總結

------- 經過週末一個半天的努力,終於把這次的Assignment3做出來,然後做完Quiz4,順利結束R Programming這門課程。 對這門課的綜合吐槽就是,Roger老師的github頭像好帥,動態視訊更帥,視訊內容還算充足,但遠遠不足以應付assignment。Assignment設

課程一(Neural Networks and Deep Learning),第二(Basics of Neural Network programming)—— 1、10個測驗題(Neural N

              --------------------------------------------------中文翻譯-------

Coursera】吳恩達 deeplearning.ai 04.卷積神經網路 第二 深度卷積神經網路 課程筆記

深度卷積神經網路 2.1 為什麼要進行例項化 實際上,在計算機視覺任務中表現良好的神經網路框架,往往也適用於其他任務。 2.2 經典網路 LeNet-5 AlexNet VGG LeNet-5 主要針對灰度影象 隨著神經網路的加深

coursera公開課——recommender system作業(第二

寫這麼醜的程式碼我也是醉了,繼續學習。 第二週的assignment: Mean Rating: Calculate the mean rating for each movie, or

吳恩達Coursera深度學習課程 DeepLearning第一課第二程式設計作業

     最近在學習吳恩達的Deep Learning 系列課程,首先在此對吳老師表示深深的謝意。第一次接觸深度學習方面的知識,更是第一次用程式碼程式設計實現深度學習的演算法。所以在完成老師的作業過程中,遇到很多問題,最終在度孃的幫助下,花了一天的時間,終於把程式設計實現了邏

Coursera 吳恩達 Deep Learning 第二課 改善神經網路 Improving Deep Neural Networks 第二 程式設計作業程式碼Optimization methods

Optimization Methods Until now, you’ve always used Gradient Descent to update the parameters and minimize the cost. In this notebo

第二(多變數線性迴歸 +Matlab使用)-【機器學習-Coursera Machine Learning-吳恩達】

目錄:    多變數線性迴歸(模型、梯度下降技巧)    特徵選擇和多項式迴歸    正規方程    Matlab學習1 多變數線性迴歸1)模型- 假設函式:- 引數:全部的 theta- 代價函式:和單變量回歸一樣- 梯度下降:2)梯度下降演算法的實用技巧    - 特徵縮

Coursera 深度學習 deep learning.ai 吳恩達 神經網路和深度學習 第一課 第二 程式設計作業 Python Basics with Numpy

Python Basics with Numpy (optional assignment) Welcome to your first assignment. This exercise gives you a brief introduction to P

Coursera Deep Learning 第四課 卷積神經網路 第二 程式設計作業 殘差神經網路 Residual Networks

Coursera Deep Learning 第四課 卷積神經網路 第二週 程式設計作業 殘差神經網路 Residual Networks Welcome to the second assignment of this week! You will l

Coursera 吳恩達DeepLearning.AI 第五課 sequence model 序列模型 第二 Emofify

這個Emojify裡最坑的一個就是,avg初始化的時候一定要是 (50,) ,如果你用(word_to_vec_map["a"]).shape 就死活過不了。Emojify!Welcome to the second assignment of Week 2. You are going to use wor

C#R認證第二單元第一題

第一題 als void ogr pub ole class introduce .com namespace Txst2_1{ class Animal { private Boolean m_sex; private int m_

現代軟體工程第二作業——黃金點遊戲

(本博文為現代軟體工程第二週作業——黃金點遊戲結對程式設計總結,本專案的Github原始碼在這裡) 黃金點遊戲介紹 假設有M個人參與黃金點遊戲,每輪遊戲每個人提兩個(0, 100)間的有理數,共2M個數,求這2M個數的平均數再將這個平均數乘以0.618得到這一輪的黃金點,提出離黃金點最近的數的人得2M分(

現代軟體工程 第二部落格作業

作業要求:https://edu.cnblogs.com/campus/ustc/InnovatingLeadersClass/homework/2231 原始碼地址:https://github.com/YueshangGu/golden-number 黃金點遊戲簡單介紹 假設有M個人參與黃金點遊戲,

scrum立會報告+燃盡圖(第二第五次)

一、小組介紹 組名:楊老師粉絲群 組長:喬靜玉 組員:吳奕瑤、公冶令鑫、楊磊、楊金銘、劉佳瑞、盧帝同、張宇 二、Scrum立會(master:楊磊) 1、時間跨度 開始時間:2018年10月21日  11:03 結束時間:2018年10月21日  11:38 共計35分鐘

2018-2019-1 20189206 《Linux核心原理與分析》第二作業

Linux核心分析 第二週學習 知識總結 作業系統與核心 作業系統 指在整個系統中負責完成最基本功能和系統管理的那些部分 核心 實際是作業系統的內在核心 核心獨立於普通應用程式,擁有受保護的記憶體空間和訪問硬體裝置的所有許可權,這種空間被稱為核心空間 當核心執行的時

pytho系統學習:第二之字串函式練習

# Author : Sunny# 雙下劃線的函式基本沒用# 定義字串name = 'i am sunny!'# 首字母大寫函式:capitalizeprint('-->capitalize:', name.capitalize())# 判斷結尾函式:endswithprint('-->endsw

機器學習與深度學習系列連載: 第二部分 深度學習(二)梯度下降

梯度下降 Gradient Decent 我們回憶深度學習“三板斧”, 選擇神經網路 定義神經網路的好壞 選擇最好的引數集合 其中步驟三,如何選擇神經網路的好壞呢? 梯度下降是目前,最有效的方法之一。 方法:我們舉兩個引數的例子

coursera Machine Learning: Programming Exercise 1

2. Linear regression with one variable (一個變數的線性迴歸) 2.1 Plotting the data data = load('ex1data1.txt'); % read comma separated data X = data(:,