入門| 簡易指南帶你啟動 R 語言學習之旅

2020-12-05 深圳熱線
現在我們創建一個2x2矩陣,使用matrix函數並以行和列作為參數。行數以nrow表示,列數以ncol表示。

my_matrix<-matrix(nrow=2,ncol=2)

my_martix<-matrix(nrow=8,ncol=4)

#Itcreatesamatrixwith8rowsand4cloumns.

#Butinitiallytheyallareempty(NA).

#Theseareusedtoenterthedataintothematrix.

#Herec()functionisusedtoconcatenatethedata.

#Inthebelowexamplethedataisfilledbycolumnwise.

my_martix[,1]<-c(59,55,53.5,55,52.5,57.5,53,55)

my_martix[,2]<-c(22.3,19.7,20.8,20.3,20.8,21.5,20.6,21.5)

my_martix[,3]<-c(31.2,30.4,30.6,30.3,30.3,30.8,32.5,34)

my_martix[,4]<-c(9.5,13.8,14.8,15.2,15.5,15.6,15.6,15.7)

print(my_martix)

[,1][,2][,3][,4]

[1,]59.022.331.29.5

[2,]55.019.730.413.8

[3,]53.520.830.614.8

[4,]55.020.330.315.2

[5,]52.520.830.315.5

[6,]57.521.530.815.6

[7,]53.020.632.515.6

[8,]55.021.534.015.7

數據幀(dataframe)數據幀是R語言裡最常用的數據結構之一。數據是由帶有行和列的數據表格表示的。我們通常在數據幀裡讀取一個csv文件,使用read.csv()或read.table()函數,然後把csv文件的名字作為參數輸入函數裡來實現的。我們也可以用data.frame()函數來創建一個數據幀。

>df<-data.frame(id=letters[1:5],x=1:10,y=rnorm(10))

>df

>##idxy

>##1a1-1.37593

>##2b20.47094

>##3c3-0.16046

>##4d4-1.36914

>##5e50.39763

這裡有幾個重要的函數,應用到數據幀得出其結構信息等。
  • head()用來看前6行
  • tail()用來看後6行
  • dim()用來看維度
  • nrow()行的數量
  • ncol()列的數量
  • str()每一列的結構
因子(factor)因子是帶標籤的整數。因子看起來像字符矢量,但實際上是整數,當你把它們當成字符來對待時,需要特別謹慎。一些字符處理方法會強制把因子轉換成字符,而其他的字符處理方法會報錯。因子可以用factor()函數創建。輸入一般是字符矢量。

>x<-factor(c("yes","no","no","yes","yes"))

>x

[1]yesnonoyesyes

Levels:noyes

#table(x)willreturnafrequencytable.

控制結構以下是控制函數的腳本執行流程的常用結構,包括:1.if,else2.for3.while4.repeat5.breakif-else我們經常需要可以檢查一個程序的狀態和改變這個程序的行為的功能。條件語句可以提供這樣的功能,最簡單的形式是if語句。

if(condition){

#dosomething

}else{

#dosomethingelse

}

例子

x<-1:15

if(sample(x,1)<=10){

print("xislessthan10")

}else{

print("xisgreaterthan10")

}

for循環R語言裡的for循環可以在任何列表或矢量中執行。

for(iin1:5){

print(i)

}

上述代碼是在R語言裡聲明for循環的例子,for循環讓循環變量i在給定的範圍內迭代。

1

2

3

4

5

幾種實現for循環的方法。

x<-c("apples","oranges","bananas","strawberries")

#Printsthelistitemswiththeindex.

for(iinx){

print(x[i])

}

for(iin1:4){

print(x[i])

}

for(iinseq(x)){

print(x[i])

}

#Inline

for(iin1:4)print(x[i])

[1]NA

[1]NA

[1]NA

[1]NA

[1]"apples"

[1]"oranges"

[1]"bananas"

[1]"strawberries"

[1]"apples"

[1]"oranges"

[1]"bananas"

[1]"strawberries"

[1]"apples"

[1]"oranges"

[1]"bananas"

[1]"strawberries"

while一個R語言裡的while循環會反覆的執行目標語句,只要給定的條件一直是真。不像for循環,while循環不會確定循環次數,而會一直跑直到條件不滿足。while循環句法

while(condition){

statements

iteration

}

這是一個例子,我們實現一個簡單的while循環。

i<-1

while(i<5){

print(i)

i<-i+1

}

1

2

3

4

5

repeat和break一個repeat循環是用來反覆執行一段代碼的,其中沒有檢查條件然後退出的機制。repeat和break的句法

repeat{

condition

statements

break

}

現在,讓我們用repeat和break來輸出前五個數字。

x<-1

repeat{

print(x)

x=x+1

if(x==6){

break

}

}

[1]1

[1]2

[1]3

[1]4

[1]5

函數在任何程式語言中函數的主要作用就是可復用性。函數是一系列聲明的組合以執行特殊的任務。在R語言裡有很多內建的函數,例如sum()、min()、max()、mean()等。R語言中聲明函數的句法

function_name<-function(arg_1,arg_2,...){

functionbody

}

現在讓我們創建一個函數來輸出一系列的數字。

my_function<-function(a){

for(iin1:a){

b<-i^3

print(b)

}

}

#Nowcallthefunctionsupplying6asanargument

my_function(6)

216

R語言裡的可視化數據可視化是對決策至關重要的參考。R語言為了創建數據儲存和可視化兒提供了最好的內置函數和庫。現在,讓我們用RStudio裡的ggplot2來創建一個簡單的線圖,我們需要安裝ggplot2包,你會在左角找到控制臺,執行命令安裝包(「package_name」):

>install.packages("ggplot2")

我們現在導入一個內置的數據集(mpg),然後畫一個簡單的圖。關於mpg數據集:這是一個關於燃料經濟的數據集,包含了從1999年到2008年38種流行車款的數據。1.一個234行和11個變量的數據幀;2.displ-發動機排量,以升為單位;3.hwy-高速公路耗油量,英裡每加侖。

library(ggplot2)

#Plotsmpgdataset'swithXaxis-displandYaxis-hwy

#Wecanalsospecifythecolorpalletebysendingthecolourargument.

ggplot(mpg,aes(displ,hwy,colour=class))+geom_point()

原文連結:https://towardsdatascience.com/r-lang-zero-to-hero-c59a9f66841c

本文為機器之心編譯,轉載請聯繫本公眾號獲得授權。

相關焦點

  • 【超全資源】自然語言處理(NLP)入門學習資源清單(部分資料下載)
    &model=en&cpu=1&cph=0 記得我曾經讀到過這樣一段話,如果你覺得有必要回答兩次同樣的問題,那就把答案發到博客上,這可能是一個好主意。根據這一原則,也為了節省回答問題的時間,我在這裡給出該問題的標準問法:「我的背景是研究**科學,我對學習NLP很有興趣。應該從哪說起呢?」
  • Python和R之間轉換的基本指南:有效學習另一種語言的簡單方法
    Python和R之間轉換的基本指南這裡介紹的方法與我們自學習外語的時候使用的方法是有共同之處的,例如我們要學習英語,可以使用以下三個關鍵的練習幫助我從笨拙地將中文單詞翻譯成英語,轉變為直接用英語思考和回答(英語思維)。把新的英語單詞和我已經知道的中文單詞關聯起來。把英語和中文的單詞作比較,使我能很快地領會這個生詞的意思。
  • R語言從入門到精通:Day10-R語言統計入門代碼大全
    在課題或者項目中,你往往會遇到這樣的問題:參與本次實驗的病人的年齡的分布如何(均值、、標準差、中位數等)?實驗中不同組病人的生存時間有沒有差異?病人性別對實驗結果有無影響?接下來的幾次教程內容就是為了解決這些問題,我們會逐步學習R語言中的一些統計方法,希望大家在學習新內容的同事,也可以回顧一下自己之前學過的統計學課程。
  • R語言data manipulation學習筆記之subset data
    taoyan:R語言中文社區特約作家,偽碼農,R語言愛好者,愛開源。
  • 帶你從生信小白到精通R語言!所有難點一一攻破!限時免費送
    為了讓更多小夥伴了解並掌握生物信息學,我們整理了一批學習資源,利用好這批資料,相信大家肯定能有所收穫!-基因組數據分析10、清華BI培訓班-計算機技術11、清華BI培訓班-轉錄組數據分析12、R語言入門及繪圖實例13、第二代測序中的數據分析-基因組14、第二代測序中的數據分析-轉錄組15、基因組數據分析解讀及實例操作16、生物信息數據分析平臺的構建17、生物信息學中的計算機技術
  • 《缺氧》自動化入門指南
    自動化是《缺氧》中非常關鍵的一步,在進入後期後必須要做的就是自動化,能節約大量的人力和時間,許多玩家還不清楚自動化要怎麼做,下面小編就為大家帶來一篇「熱情的caosb」分享的自動化入門指南,一起來學習一下吧。自動化入門指南一般我們都是通過線路的顏色來這條線路是否激活,紅色表示抑制,綠色表示激活,看下面兩個圖。
  • 實踐入門NLP:基於深度學習的自然語言處理
    特別是最近兩年,基於深度學習的自然語言處理逐漸取得了一定進展,在人機對話、問答系統、語言翻譯等方向的應用也一直是自然語言處理中的熱門話題,而這些應用的實現,基本依賴於底層技術和模型的進步,再加上自然語言處理領域也算是一個多學科交叉的行業,自然語言處理的未來發展對於很多相關學科和方向都具有深遠的影響力。
  • 數據分析入門學習指南,零基礎小白都能輕鬆看懂
    該如何學習數據分析呢?其實,如果你打算成為一名數據分析師,如何出身並不重要,數據科學是一門應用學科,你需要系統提升數據獲取、數據分析、數據可視化、機器學習的水平。下面我就簡單提供一個數據分析入門的路徑。第一階段:Excel數據分析每一位數據分析師都脫離不開Excel。
  • 電腦入門程式語言
    今天和大家介紹一下電腦入門編程學什麼語言更合適。首選python語言,python 是一門開源免費、通用型的腳本程式語言,現在社會上會python語言的人很吃香的。它上手簡單,功能強大,堅持「極簡主義」。
  • 小科普|送你一份「識雲指南」(入門+進階)
    如果你對「雲從石上起」「雲隨落日橫」的美景情有獨鍾,或者哪怕只是想自娛自樂,那麼,這裡有一份「識雲指南」(入門+進階)送給你,為你介紹關於雲的基本知識,以及必要的識雲資源。一起來看吧。首先,讓我們先學習幾個拉丁語單詞根據不同的形狀和高度,雲被分為10個不同的雲屬。
  • R語言-stringr-字符串處理
    字符串長度char <- "我是R語言學習者"str_length(char)# 向量化str_length(c("a", "R for data sciencestart: 默認1L,即從最開始截取end:默認-1L,即截取到最後#注意end 3 和 -3的區別str_sub(string = '我是R語言學習者
  • Python、R、Java、 C++ 等:從業界反饋看機器學習語言趨勢
    Python 是市場的領先者,作為最受歡迎的機器學習語言當之無愧。 另外,Python 與 Java 之間的差距正在被拉開。但是 Java 與 R 之間的差距正在被縮小。雷鋒網(公眾號:雷鋒網)獲知,有業內人士對居第二位的語言是 Java 而不是 R 感到驚訝。通常,大家的主觀感受是除了 Python,使用 R 語言開發機器學習應用最普遍。
  • 就能帶你入門Python學習!超級詳細的基礎教程!
    成都達內就能帶你入門Python學習!超級詳細的基礎教程!你也可以在一行上使用多個變量。例如:數據類型Python具有列表(list)、元組(tuple)和字典(dictionaries)三種基本的數據結構,而集合(sets)則包含在集合庫中(但從Python2.5版本開始正式成為Python內建類型)。
  • 在R中學習R語言:swirl
    一、安裝環境swirl要求R語言版本>=3.1.0,作者十分推薦安裝RStudio,但不是強制的。如果在Linux上使用swirl,則還需要安裝libcurl(https://github.com/swirldev/swirl/wiki/Installing-swirl-on-Linux)。
  • 零基礎如何入門學習電腦編程?
    零基礎如何入門學習電腦編程?有哪些好的方法呢?現在帶著疑問一起去了解一下吧。1、了解編程歷史的意義了解一些編程的實質遠比知道如何編程更有意義,不要在編程是怎麼回事的情況下就去學習編程,這樣對你的學習是十分不利的,作為一個編程愛好者,知道計算機的工作原理,這應該是一件再正常不過的事。
  • 遊戲開發新手入門指南
    我也不準備對遊戲行業進行論述(因為這個話題的資料太多了),但是,我會帶你瀏覽一下在製作遊戲之前需要做的一些事情。該說明的一點是,不要將我這裡所介紹的方法當作唯一的或最好的學習遊戲製作的路徑,但對於我和其他人來說,它是有效的。   1、選擇一門語言  第一件要做的事就是選擇一門語言。
  • 小科普 | 送你一份「識雲指南」(入門+進階)
    如果你對「雲從石上起」「雲隨落日橫」的美景情有獨鍾,或者哪怕只是想自娛自樂,那麼,這裡有一份「識雲指南」(入門+進階)送給你,為你介紹關於雲的基本知識,以及必要的識雲資源。一起來看吧。「識雲指南」進階版對於新手來說,熟悉了這10種雲屬就相當於入門了,接下來可以進一步學習「進階版」。前文中一直使用「雲屬」這個詞,是因為雲的分類和物種的分類有很多共同之處。在這10個雲屬中,有15個亞種、9個變種、11個補充特徵、4個附屬雲和5個其他種類。是不是覺得一頭霧水?
  • 薪資最高的15種程式語言及在線學習資源
    去哪兒學:YouTube CS Dojo頻道有個針對絕對初學者的視頻講解,軟體工程教師Mosh Hamedani有個YouTube視頻也很有幫助,Udemy也有免費入門課程。Prolog:全球平均薪資60,648.70美元這門語言的平均薪資比全球平均薪資高出11.3%。去哪兒學:Learn Prolog Now!等幾個網站提供如何學習Prolog的免費指導。
  • r語言有什麼優劣勢及R語言的未來發展趨勢_R語言在現實中的應用
    r語言有什麼優劣勢分析 R語言擁有強大的軟體包生態系統與圖表優勢如果你做Bayesian,用R你有OpenBUGS, WinBUGS, JAGS等各種成熟活潑的包裹,很多語言又簡單又附帶各種預設的plot,你只需調用即可;還可以自己寫MCMC。如果你用SAS/SPSS/Stata,你可以。。。 @@? = =bbb 10. 漂亮又靈活的圖,大家也都已經講過了。
  • 從安裝到做項目一步步教你ROS學習入門
    我在安裝完Ubuntu後就遇到一個很窘的問題:網絡連接不上,但是神奇的是蓋上蓋子再打開後就好了,之後碰到的帶耳機的時候沒聲音也是這樣,一種解釋如下:。英語不太好的話可以看中文版的 也可以參見我的學習筆記 ,前期只學初級20講即可。學習完基礎20講後可以根據興趣或用途來學習其他教程,如上圖就是實時觀測工具Rviz顯示機器人的URDF(Unified Robot Description Format)模型,裡面還涉及坐標變換的TF相關知識,都需要學習對應的Tutorial來入門。當然,無從著手的話,這時候選擇一本參考書也是很不錯的,如, 。