R語言基礎文法

來源:互聯網
上載者:User

標籤:向量   cal   studio   編程   abc   資料類型   自動   height   body   

      學習一門新的語言,率先學習輸出hello world.我們就從這裡開始學習.

首先開啟RStudio這個IDE,然後在左邊輸入:

1 > mystr <- "hello world"2 > print(mystr)

,當我們在左邊擼完之後,右邊可以看到我們剛才的變數.

這裡,關於R語言中的指派陳述式是: 變數  <-  值,不同其他語言的=,但是也可以使用=賦值,但是不推薦.輸出語句是print(值)

我們可以使用class()方法查看它的類型.如:

同時,在R語言中,#是注釋,不像其他語言的//或者/**/,如我們建立一個方法a,然後為該方法寫一個注釋:

 

 

     在R語言中,R語言與其他程式設計語言(如C語言和Java)相反,變數不會被聲明為某些資料類型。 變數被分配給R對象,並且R對象的資料類型轉變為變數的資料類型。 有很多類型的R對象。 常用R對象是 

  • 向量
  • 列表
  • 矩陣
  • 數組
  • 因子
  • 資料幀

這些對象中最簡單的是向量對象,並且向量對象有六種資料類型的原子向量,也稱為六類向量。 其他R對象是建立在原子向量之上的。六類向量類型如下表所示 

 

資料類型 樣本 驗證代碼 輸出結果
邏輯 TRUE, FALSE v <- TRUE ; print(class(v)); [1] "logical"
數字值 1, 2.3, 92 v <- 23.5 ; print(class(v)); [1] "numeric"
整數 1L, 22L, 0L v <- 2L ; print(class(v)); [1] "integer"
複數 3 + 2i v <- 2+5i ; print(class(v)); [1] "complex"
字元 ‘a’ , “abc”, “TRUE”, ‘12.2’ v <- "TRUE" ; print(class(v)); [1] "character"
原生 "Hello"儲存值為: 48 65 6c 6c 6f v <- charToRaw("Hello"); print(class(v)); [1] "raw"

 

R編程中,非常基本的資料類型是叫作向量的R對象,它們儲存不同類的元素,如上所示。 請注意在R語言中,類型的數量不僅限於上述六種類型,還有向量,列表等等,接下來我們就詳細學習這幾個類型.

 

1.向量:

 --只能包含同一類型的對象

 --建立向量

 建立一個向量,一個有三種方式. 1.使用vector() 2.直接賦值 3.c().如:

 

 在R中,系統也會對向量中的不同資料類型進行轉換,轉換為同一類型.

如,向量x3賦值時,是邏輯TRUE,數值1,字元abc,在輸出時,系統全部自動轉換為字元表示.

    向量x4賦值時,是字元a,b,c,我們可以全部轉為字元類型.但是會產生預設值.

 

2.矩陣(matrix)

  --向量 + 維度屬性(整數向量:nrow,ncol)

  --建立矩陣:1.使用matrix() 2.先來一個向量在為其添加維度屬性.

這裡,可以看到一個3行,2列,預設值NA的矩陣

.然後,我們再建立一個矩陣,並且為其賦值1到6,其中我們看出來,是先填滿第一列,然後再第二列....

 其中,矩陣有一個dim(),可以顯示該矩陣有幾行幾列.如x1有三行兩列.

 該矩陣的屬性可以通過attributes()顯示

 

這裡,正如前面所說矩陣=向量+維度資訊.因此我們可以先建立一個向量,然後為它添加維度資訊來建立一個矩陣,如

 

在學習下如何把兩個矩陣拼接為一個矩陣.

矩陣y,y1:

把兩個矩陣按照行來拼接:rbind()

把兩個矩陣按照列來拼接:cbind()

3.數組(array)

 -- 與矩陣類似,只是維度可以大於等於2

 --建立矩陣:使用array()

建立一個1到24的數組,dim = c(4,6)是指定他有四行,六列.該維度等於2,也可以說是一個矩陣.如:

 建立一個1到24的數組,dim = c(2,3,4)是指定維度是2,3,4.他的維度大於2,是一個典型的數組.如:

4.列表(list)

 --可以包含不同類型的對象

 -- 建立:list()

建立一個list,元素為字元a,數字12,整數2,複數2+3i,邏輯TRUE.

 

為每一個元素去個別名.

 

建立一個list,元素分別為兩個向量.

5.因子(factor)

 --是使用向量建立的R對象.

 --建立 factor()

建立一個因子,標示一組人的男女,levels預設

 

levels自己制定

查看各元素個數:table()

levels是因子的屬性,我們去掉該屬性看一下.unclass()

 

 

6.資料幀

 -- 是表格式資料對象.其中各列對象可以不同.

 --建立:data.frame()

 

輸出:

R語言基礎文法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.